精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#算法解決張老師的生日問題

開發 后端 算法
C#算法解決張老師的生日問題是如何實現的呢?本文就向你介紹C#算法解決張老師的生日問題具體的推理和代碼實現。

C#算法實現張老師的生日問題是怎么辦到的呢?首先我們來回顧下這個張老師的生日問題:

小明和小強都是張老師的學生,張老師的生日是M月N日, 2人都知道張老師的生是下列10組中的一天,張老師把M值告訴了小明,把N值告訴了小強, 張老師問他們知道他的生日是那一天嗎?

3月4日 3月5日 3月8日

6月4日 6月7日

9月1日 9月5日

12月1日 12月2日 12月8日

小明說:如果我不知道的話,小強肯定也不知道

小強說:本來我也不知道,但是現在我知道了

小明說:哦,那我也知道了

請根據以上對話推斷出張老師的生日是哪一天??

相信很多朋友都看過這個邏輯推理題吧,正確的答案是9月1日,推理過程我這里就不在再說了,Google一下一大堆,我要說的是用C#來得到這個推理結果^_^

C#算法解決張老師的生日問題推理過程如下:

1、分析所有生日集合,月份有{3,6,9,12},日有{4,5,8,7,1,5,2}。

2、小明說:“如果我不知道的話,小強肯定也不知道”,在日的集合中,{2,7}只出現一次。小明會這樣說,那就可以推出小明得到的M不是{6,12}。因為小強的N值是{2,7}的話,他可以直接得到張老師的生日,小明的M值就沒有意義了。而小明這樣說了,那就說明小明手中的M不是{6,12}。

3、小強說:“本來我也不知道,但是現在我知道了”。扣除M={6,12},剩下可能的為{{3,4},{3,5},{3,8},{9,1},{9,5}}小強說他知道了,由于小強只知道N,而他能肯定得到張老師的生日,所以他的N值一定是剩下集合中日數唯一的。這就可以排除{{3,5},{9,5}}了。

4、小明說:“哦,那我也知道了”。小明的是月份,剩下集合是{{3,4},{3,8},{9,1}},如果小明的M是3,那就有兩個日期可以選擇,不能確定生日。既然小明能確定張老師的生日,那小明手中的M就是9。

所以張老師的生日是:9月1日。

下面的代碼也是照著這個思路來寫的。

C#算法解決張老師的生日問題的演示代碼

  1. class Program     
  2. {     
  3.     /// <summary>     
  4.     /// 小明和小強都是張老師的學生,張老師的生日是M月N日,     
  5.     /// 2人都知道張老師的生是下列10組中的一天,     
  6.     /// 張老師把M值告訴了小明,把N值告訴了小強,     
  7.     /// 張老師問他們知道他的生日是那一天嗎?     
  8.     /// 3月4日 3月5日 3月8日     
  9.     /// 6月4日 6月7日     
  10.     /// 9月1日 9月5日     
  11.     /// 12月1日 12月2日 12月8日     
  12.     /// 小明說:如果我不知道的話,小強肯定也不知道     
  13.     /// 小強說:本來我也不知道,但是現在我知道了     
  14.     /// 小明說:哦,那我也知道了     
  15.     /// 請根據以上對話推斷出張老師的生日是哪一天??     
  16.     ///     
  17.     /// </summary>     
  18.     /// <param name="args"></param>     
  19.     static void Main(string[] args)     
  20.     {     
  21.         Dictionary<intint[]> birthdays = new Dictionary<intint[]>();     
  22.         birthdays.Add(1,new int[]{3,4});     
  23.         birthdays.Add(2,new int[]{3,5});     
  24.         birthdays.Add(3,new int[]{3,8});     
  25.         birthdays.Add(4,new int[]{6,4});     
  26.         birthdays.Add(5,new int[]{6,7});     
  27.         birthdays.Add(6,new int[]{9,1});     
  28.         birthdays.Add(7,new int[]{9,5});     
  29.         birthdays.Add(8,new int[]{12,1});     
  30.         birthdays.Add(9,new int[]{12,2});     
  31.         birthdays.Add(10,new int[]{12,8});     
  32.     
  33.         AnalyseBirthday(birthdays);              
  34.     
  35.         if (birthdays.Keys.Count > 0)     
  36.         {     
  37.             foreach (KeyValuePair<intint[]> item in birthdays)     
  38.             {     
  39.                 Console.WriteLine("張老師可能的生日為:{0}月{1}日", item.Value[0], item.Value[1]);     
  40.             }     
  41.         }     
  42.         else    
  43.         {     
  44.             Console.WriteLine("無解");     
  45.         }     
  46.         Console.ReadLine();     
  47.     }          
  48.     
  49.     private static void AnalyseBirthday(Dictionary<intint[]> birthdays)     
  50.     {     
  51.         //days:所有N值集合,TKey:是N值,TValue:是出現次數     
  52.         Dictionary<intint> days = new Dictionary<intint>();     
  53.         //months:所有N值集合,TKey:是M值,TValue:是出現次數     
  54.         Dictionary<intint> months = new Dictionary<intint>();     
  55.     
  56.         //遍歷birthdays并分別對days,months賦值     
  57.         foreach (KeyValuePair<intint[]> item in birthdays)     
  58.         {     
  59.             if (days.ContainsKey(item.Value[1]))     
  60.                 days[item.Value[1]] += 1;     
  61.             else    
  62.                 days.Add(item.Value[1], 1);     
  63.             if (months.ContainsKey(item.Value[0]))     
  64.                 months[item.Value[0]] += 1;     
  65.             else    
  66.                 months.Add(item.Value[0], 1);     
  67.         }     
  68.     
  69.         //聲明一個臨時用的List:tempDays,用來存儲N值     
  70.         List<int> tempDays = new List<int>();     
  71.         //聲明一個臨時用的List:tempMonths,用來存儲M值     
  72.         List<int> tempMonths = new List<int>();     
  73.         //聲明一個臨時用的List:keys,用來存儲birthdays的TKey值     
  74.         List<int> keys = new List<int>();     
  75.     
  76.         //查找所有可能生日中N值只出現一次的對應值,并將其保存到tempDays中     
  77.         //并獲取到唯一N值相對應的M值,并將其保存到tempMonths中     
  78.         foreach (KeyValuePair<intint> item in days)     
  79.         {     
  80.             if (item.Value == 1)     
  81.             {     
  82.                 tempDays.Add(item.Key);     
  83.     
  84.                 foreach (KeyValuePair<intint[]> birthday in birthdays)     
  85.                 {     
  86.                     if (birthday.Value[1] == item.Key)     
  87.                     {     
  88.                         if (!tempMonths.Contains(birthday.Value[0]))     
  89.                             tempMonths.Add(birthday.Value[0]);     
  90.                     }     
  91.                 }     
  92.             }     
  93.         }     
  94.     
  95.         //遍歷所有可能的生日,并獲取tempMonths中的所有     
  96.         //值在birthdays相應對應的TKey,存儲到keys中     
  97.         foreach (int month in tempMonths)     
  98.         {     
  99.             foreach (KeyValuePair<intint[]> birthday in birthdays)     
  100.                 if (birthday.Value[0] == month)     
  101.                     keys.Add(birthday.Key);     
  102.         }     
  103.     
  104.         //遍歷keys,在birthdays移除M=key的不可能的生日     
  105.         //移除months中相應的值     
  106.         //days出現的次數減一     
  107.         foreach (int key in keys)     
  108.         {     
  109.             months.Remove(birthdays[key][0]);     
  110.             days[birthdays[key][1]] -= 1;     
  111.             birthdays.Remove(key);     
  112.         }     
  113.     
  114.         //在days中移除不可能生日     
  115.         foreach (int day in tempDays)     
  116.         {     
  117.             days.Remove(day);     
  118.         }     
  119.     
  120.         //清空tempDays     
  121.         tempDays.Clear();     
  122.         //清空keys     
  123.         keys.Clear();     
  124.     
  125.         //遍歷所有可能的生日,移除N值出現過兩次的日期     
  126.         foreach (KeyValuePair<intint> item in days)     
  127.         {     
  128.             if (item.Value > 1)     
  129.             {     
  130.                 tempDays.Add(item.Key);     
  131.                 foreach (KeyValuePair<intint[]> birthday in birthdays)     
  132.                 {     
  133.                     if (birthday.Value[1] == item.Key)     
  134.                     {     
  135.                         if (!keys.Contains(birthday.Key))     
  136.                             keys.Add(birthday.Key);     
  137.                         months[birthday.Value[0]] -= 1;     
  138.                     }     
  139.                 }     
  140.             }     
  141.         }     
  142.         foreach (int key in keys)     
  143.             birthdays.Remove(key);     
  144.     
  145.         keys.Clear();     
  146.         tempMonths.Clear();     
  147.     
  148.         //遍歷所有可能的生日,移除M值出現過兩次的日期     
  149.         foreach (KeyValuePair<intint> item in months)     
  150.         {     
  151.             if (item.Value > 1)     
  152.                 if (!tempMonths.Contains(item.Key))     
  153.                     tempMonths.Add(item.Key);     
  154.         }     
  155.         foreach (int month in tempMonths)     
  156.         {     
  157.             foreach (KeyValuePair<intint[]> item in birthdays)     
  158.                 if (item.Value[0] == month)     
  159.                     if (!keys.Contains(item.Key))     
  160.                         keys.Add(item.Key);     
  161.         }     
  162.         foreach (int key in keys)     
  163.             birthdays.Remove(key);     
  164.                 
  165.     }     
  166. }   

整個過程foreach太多了,效率上有很大的問題,水平有限。還請網友不吝賜教!謝謝,嘿嘿:-)

C#算法解決張老師的生日問題就向你介紹到這里,希望對你學習C#算法有所幫助。

【編輯推薦】

  1. 簡單介紹C#預處理
  2. 詳解C#正規表達式
  3. C#字符串插入html標簽
  4. 分析C#不安全代碼
  5. C#算法巧解八皇后問題淺析
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-11 10:42:14

C#算法

2009-08-06 10:35:27

C# lock thi

2021-06-11 00:09:20

C#爬蟲版本

2009-08-10 13:49:50

C# txt文件

2024-09-17 17:50:28

線程線程安全代碼

2009-08-13 17:25:18

C# Convert類

2009-08-07 14:47:23

C#路徑問題

2009-09-15 17:46:08

C#綁定句柄無效

2009-08-11 09:16:00

2009-08-11 10:12:07

C#算法

2012-02-02 14:34:37

C# Socket

2009-08-06 16:01:30

C#接口成員

2025-02-10 10:52:34

WinForm窗口閃爍C#

2009-09-02 14:30:35

C#換行符號

2009-08-05 08:42:41

C#中用Oracle執DataSet

2011-04-25 15:15:00

C#

2009-08-03 14:09:15

C#調用API

2009-02-05 15:32:23

接口委托

2011-04-21 15:04:30

C#

2009-08-28 10:14:45

C#內存泄露
點贊
收藏

51CTO技術棧公眾號

中文字幕视频一区二区三区久| 黄色国产精品| 欧美日韩精品一区二区天天拍小说| 亚洲韩国在线| www.四虎在线观看| 欧美 日韩 国产一区二区在线视频| 亚洲第一中文字幕| 97公开免费视频| 国产在线二区| 91丨九色丨国产丨porny| 国产精品久久久久久网站 | 丰满熟女人妻一区二区三| 欧美激情偷拍自拍| 亚洲精美色品网站| 日韩在线不卡一区| 亚洲天堂免费电影| 亚洲欧美国产三级| 日韩视频专区| 亚州视频一区二区三区| 九色porny丨国产精品| 2019最新中文字幕| 黄色一级视频在线观看| 精品国产一区二区三区香蕉沈先生| 日韩一二三四区| 欧美日韩大尺度| av在线加勒比| 亚洲激情欧美激情| 亚洲视频欧美在线| 精品av中文字幕在线毛片| 国产福利91精品一区| 国产精品久久视频| 综合网在线观看| 影音先锋日韩资源| 色与欲影视天天看综合网| 国产探花视频在线播放| 精品av导航| 精品国产乱码久久久久久久| 亚洲va在线va天堂va偷拍| 欧美free嫩15| 色婷婷精品大视频在线蜜桃视频| 国产色一区二区三区| 91麻豆免费在线视频| 国产精品入口麻豆原神| 日韩av高清| 国自产拍在线网站网址视频| av网站免费线看精品| 91久久大香伊蕉在人线| 国产精选久久久| 老司机精品视频一区二区三区| 国产成人精品视频在线| 日韩成人免费在线观看| 亚洲大黄网站| 668精品在线视频| 日本免费在线播放| 亚洲午夜视频| 色综合久久久久久中文网| 农村黄色一级片| 偷偷www综合久久久久久久| 最近中文字幕日韩精品| 日本在线观看网址| 97精品一区二区| 精品国偷自产在线视频99| 国产又色又爽又高潮免费| 日韩成人精品一区二区| 日韩在线欧美在线| 天天鲁一鲁摸一摸爽一爽| 亚洲国产一区二区在线观看| 欧美成人性色生活仑片| 欧美成人精品一区二区免费看片| 欧美永久精品| 高清欧美一区二区三区| 国产视频91在线| 久久人人97超碰国产公开结果| 日本久久91av| 亚洲一区二区天堂| 国产一区二区三区免费观看| www.久久久| 性感美女福利视频| 欧美国产欧美综合| 三上悠亚免费在线观看| 波多一区二区| 91久久精品网| 亚洲在线观看网站| 国产精品任我爽爆在线播放| 亚洲免费av网址| 亚洲女人毛茸茸高潮| 欧美三级网页| 日韩免费精品视频| 国产精品无码在线播放| 99视频一区二区| 水蜜桃一区二区三区| 91一区二区三区在线| 天天影视色香欲综合网老头| 日本新janpanese乱熟| 天堂精品久久久久| 精品丝袜一区二区三区| 国产白丝一区二区三区| 亚洲日本国产| 国产中文字幕日韩| 亚洲精品久久久久avwww潮水| 久久综合成人精品亚洲另类欧美 | 精品人妻在线视频| 国产日产精品_国产精品毛片| www.久久久久久.com| 国产一级二级三级| 老司机精品视频导航| 精品欧美一区二区久久久伦| 欧美一区二区三区在线观看免费| 亚洲成a人v欧美综合天堂| 美女网站色免费| 麻豆国产欧美一区二区三区r| 日韩中文字幕国产精品| 中文字幕亚洲精品在线| 国产一区二区三区四| 欧美成人在线免费观看| 欧美videos另类精品| 欧美日韩精品一区二区| 欧美 变态 另类 人妖| 亚洲人体av| 国产精品自拍偷拍| 欧美18xxxxx| 午夜精品一区在线观看| 青娱乐国产精品视频| 成人一区二区| 国产成人av在线播放| 少妇一区二区三区四区| 樱桃国产成人精品视频| 粉色视频免费看| 国产日产一区| 日本精品视频在线观看| 欧洲成人一区二区三区| 亚洲精品国产一区二区精华液| 久久久久久久久久久久91| 要久久爱电视剧全集完整观看| 欧美国产极速在线| www.色亚洲| 亚洲黄色小说网站| 亚洲天堂av一区二区三区| 精品视频亚洲| 国产精品丝袜久久久久久高清| 欧美日韩国产中文字幕在线| 天天综合色天天| 黄色网址在线视频| 亚洲激情黄色| 久久国产一区| a日韩av网址| 精品亚洲国产视频| 国产 日韩 欧美 在线| 99久久夜色精品国产网站| 狠狠干 狠狠操| 欧美丝袜足交| 日韩免费黄色av| 国产视频福利在线| 欧美吻胸吃奶大尺度电影| 亚洲精品一区二区三区影院忠贞| 久久一区二区三区超碰国产精品| 牛人盗摄一区二区三区视频| 三级成人黄色影院| 在线视频欧美日韩| 一区二区www| 亚洲女女做受ⅹxx高潮| 亚洲成人激情小说| 亚洲激情综合| 欧美精彩一区二区三区| 日韩高清成人| 久久人人爽亚洲精品天堂| 国产免费福利视频| 亚洲国产欧美在线人成| 伊人网综合视频| 噜噜噜在线观看免费视频日韩| 色姑娘综合av| www.欧美| 性欧美xxxx视频在线观看| 色综合久久网女同蕾丝边| 在线影视一区二区三区| 亚洲国产123| 成人一区二区视频| 久久久精品在线视频| 欧美理论电影大全| 99久久免费国| 免费福利视频一区二区三区| 色青青草原桃花久久综合| www.黄色片| 色猫猫国产区一区二在线视频| www.黄色com| 成人在线综合网| 一区二区三区 日韩| 牛夜精品久久久久久久99黑人| 久久99精品久久久久子伦| 嫩草伊人久久精品少妇av杨幂| 欧美成人久久久| 四虎影视2018在线播放alocalhost| 欧洲一区二区av| 免费中文字幕视频| 久久精品视频免费观看| 久久久久亚洲av无码麻豆| 亚洲综合另类| 在线观看污视频| 亚洲区小说区图片区qvod| 91天堂在线视频| 人成在线免费网站| 欧美乱妇高清无乱码| 激情小说 在线视频| 日韩精品一区国产麻豆| 精品成人无码久久久久久| 亚洲一区二区美女| 中文字幕第69页| 91视频免费播放| 一区二区三区人妻| 美腿丝袜一区二区三区| 久久久999视频| 欧美日韩免费| 在线不卡日本| 精品盗摄女厕tp美女嘘嘘| 国产精品久久国产三级国电话系列| 天天综合网站| 97成人在线视频| 色婷婷av在线| 久久亚洲电影天堂| 成人免费高清在线播放| 精品在线欧美视频| 亚洲毛片在线播放| 欧美一区二区在线不卡| 国产乡下妇女三片| 91激情五月电影| 综合网在线观看| 精品久久久久久久久久国产| 久久久久无码精品国产| 亚洲精品老司机| 69av视频在线| 亚洲美女屁股眼交| 日韩三级在线观看视频| 国产欧美日韩激情| 久久久久久久久久久国产精品| 从欧美一区二区三区| 久久久久亚洲av无码专区首jn| 精品在线一区二区三区| 在线看的黄色网址| 日韩电影在线看| 国产激情在线观看视频| 乱人伦精品视频在线观看| 国产69精品久久久久久久| 国产精品分类| 久久www视频| 欧美激情一区| 无码 制服 丝袜 国产 另类| 亚洲小说欧美另类婷婷| 日韩精品一区二区在线视频| 欧美色123| 欧美 丝袜 自拍 制服 另类| 99视频一区| 男人日女人bb视频| 奶水喷射视频一区| 成人在线免费播放视频| 日韩激情av在线| 欧美成年人视频在线观看| 麻豆国产欧美日韩综合精品二区 | 国产一区二区三区久久久| 久久6免费视频| 国产乱淫av一区二区三区| 少妇欧美激情一区二区三区| 成人天堂资源www在线| 亚洲精品激情视频| 久久综合九色综合97_久久久| 这里只有久久精品| 国产精品婷婷午夜在线观看| 国产suv精品一区二区68| 亚洲国产日日夜夜| 香蕉影院在线观看| 欧美日韩中文国产| 精品国产免费无码久久久| 精品国产成人在线影院 | 视频一区视频二区欧美| 国产亚洲二区| 国产尤物久久久| 中文字幕在线中文字幕日亚韩一区| 欧美私人啪啪vps| 欧美色图另类小说| 蜜桃一区二区三区在线| 一级黄色免费毛片| 2020国产精品自拍| 国产精品麻豆免费版现看视频| 一区二区三区四区精品在线视频 | 国产一区二区免费在线观看| 香蕉久久精品| 国产又爽又黄ai换脸| 影音先锋亚洲电影| 天天干天天综合| 成人国产一区二区三区精品| 国产成人精品无码免费看夜聊软件| 17c精品麻豆一区二区免费| 国产一级二级三级| 欧美综合在线视频| 国产成人手机在线| 日韩在线视频一区| 美女的胸无遮挡在线观看| 国产免费成人av| 香蕉久久精品| 自拍偷拍99| 性色一区二区三区| 成年人性生活视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 免费精品在线视频| 岛国av一区二区在线在线观看| 97精品人妻一区二区三区在线| 亚洲男人天堂古典| 牛牛在线精品视频| 国产精品丝袜久久久久久高清| 日韩精品福利一区二区三区| 国产人妻互换一区二区| 久久亚洲风情| 一区二区免费在线观看视频| 亚洲视频在线一区| 精人妻无码一区二区三区| 欧美精品一区二区在线播放| 免费在线看a| 国产精品久久久久久久久免费| 国产精品毛片久久久| 2022中文字幕| 久久66热偷产精品| 国产伦理片在线观看| 精品国产老师黑色丝袜高跟鞋| 99在线无码精品入口| 中文在线不卡视频| 亚洲va中文在线播放免费| 国产精品亚洲综合| 欧美日韩在线大尺度| 秋霞午夜鲁丝一区二区 | 黄色片视频网站| 日韩一区二区免费在线观看| 欧美高清视频| 国产欧美日韩中文字幕| 精品成人影院| 国产精品拍拍拍| 国产欧美日韩不卡| 黄色大全在线观看| 亚洲午夜色婷婷在线| 97se综合| 日韩欧美精品在线不卡| 日本成人在线不卡视频| 亚洲综合色一区| 色久综合一二码| 激情小视频在线观看| 日韩免费精品视频| 欧美精品色图| 婷婷丁香激情网| 中文字幕二三区不卡| 中文字幕激情视频| 色爱精品视频一区| 国产成人视屏| 9191国产视频| 成人黄色777网| 国产一级片毛片| 亚洲欧美日韩精品久久奇米色影视 | 蜜臀久久久久久999| 韩国精品久久久999| 婷婷精品在线观看| 黄色片久久久久| 国产精品欧美极品| 99国产精品欲| 欧美激情一区二区三级高清视频| 爱高潮www亚洲精品| www.99热这里只有精品| ww亚洲ww在线观看国产| 亚洲 欧美 中文字幕| 中文字幕亚洲欧美一区二区三区| 激情久久一区二区| a级网站在线观看| av高清久久久| 艳妇乳肉豪妇荡乳av无码福利 | 五月天激情丁香| 欧美精品1区2区3区| 蜜桃成人365av| 免费一区二区三区| 狠狠色伊人亚洲综合成人| 久久免费少妇高潮99精品| 日韩精品电影网| 欧美a一级片| 全黄性性激高免费视频| 久久久精品日韩欧美| 国产精品自拍电影| 26uuu国产精品视频| 久久免费av| 一级少妇精品久久久久久久| 日本道在线观看一区二区| 巨大荫蒂视频欧美另类大| 国产一区二区免费在线观看| 麻豆一区二区三| 日韩精品视频免费播放| 深夜福利91大全| 精品国产乱子伦一区二区| 色婷婷狠狠18| 亚洲成av人片在线| 午夜在线视频| 美日韩精品免费| 国产麻豆精品在线| 天堂网中文字幕| 欧美日韩成人精品| 日韩啪啪电影网| 国产人妻人伦精品1国产丝袜|