zoukankan      html  css  js  c++  java
  • 张老师的生日问题

            private static void Demo()

            {

                List<int[]> list = new List<int[]>();

                list.Add(new int[] { 3, 4 });

                list.Add(new int[] { 3, 5 });

                list.Add(new int[] { 3, 8 });

                list.Add(new int[] { 6, 4 });

                list.Add(new int[] { 6, 7 });

                list.Add(new int[] { 9, 1 });

                list.Add(new int[] { 9, 5 });

                list.Add(new int[] { 12, 1 });

                list.Add(new int[] { 12, 2 });

                list.Add(new int[] { 12, 8 });

     

                int count = 0;

                List<int> list1 = new List<int>();//得到通过日期只出现一次的月份,即612

     

                foreach (int[] date1 in list)

                {

                    foreach (int[] date2 in list)

                    {

                        if (date1[1] == date2[1])

                        {

                            count++;

                        }

                    }

                    if (count == 1)

                    {

                        list1.Add(date1[0]);

                    }

                    count = 0;

                }

     

                List<int[]> list2 = new List<int[]>();//得到6月,12月的所有日期

                foreach (int i in list1)

                {

                    foreach (int[] j in list)

                    {

                        if (i == j[0])

                        {

                            list2.Add(j);

                        }

                    }

                }

                //除掉月份为612的日期

                foreach (int[] i in list2)

                {

                    list.Remove(i);//得到(34)(35)(38),(91)(95

                }

     

                //==============================================

                List<int[]> list3 = new List<int[]>();//得到日期出现两次的

                foreach (int[] date1 in list)

                {

                    foreach (int[] data2 in list)

                    {

                        if (date1[1] == data2[1])

                        {

                            count++;

                        }

                    }

                    if (count > 1)

                    {

                        list3.Add(date1);

                    }

                    count = 0;

                }

     

                foreach (int[] i in list3)

                {

                    list.Remove(i); //得到(34)(38)(91

                }

     

                //=============================================

                List<int[]> list4 = new List<int[]>();//月份重复数大于1个的

                foreach (int[] date1 in list)

                {

                    foreach (int[] date2 in list)

                    {

                        if (date1[0] == date2[0])

                        {

                            count++;

                        }

                    }

                    if (count > 1)

                    {

                        list4.Add(date1);

                    }

                    count = 0;

                }

     

                foreach (int[] i in list4)

                {

                    list.Remove(i); //91

                }

     

                foreach (int[] j in list)

                {

                    Console.WriteLine("张老师的生日为:" + j[0] + "" + j[1] + "");

                }

                Console.ReadLine();

            }

  • 相关阅读:
    [BZOJ2287]【POJ Challenge】消失之物(DP)
    [BZOJ1596] [Usaco2008 Jan]电话网络(树形DP || 贪心)
    [BZOJ3339] Rmq Problem(线段树)
    [BZOJ3378] [Usaco2004 Open]MooFest 狂欢节(树状数组)
    [BZOJ1595] [Usaco2008 Jan]人工湖(单调栈)
    [BZOJ1594] [Usaco2008 Jan]猜数游戏(二分 + 并查集)
    [POJ2778]DNA Sequence(AC自动机 + DP + 矩阵优化)
    [TyvjP1519] 博彩游戏(AC自动机 + DP)
    【模板】AC自动机
    [poj3744] Scout YYF I【概率dp 数学期望】
  • 原文地址:https://www.cnblogs.com/cyan/p/1606947.html
Copyright © 2011-2022 走看看