bastien.monsarrat 6 years ago
parent
commit
1ed9916cca

+ 14 - 2
Adv2016.sln

@@ -7,9 +7,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D01.1", "D01.1\D01.1.csproj
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D01.2", "D01.2\D01.2.csproj", "{81477827-852E-4DB6-9D2B-C914B9B1B847}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D02.1", "D02.1\D02.1.csproj", "{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D02.1", "D02.1\D02.1.csproj", "{6ADE6A73-600A-4CE2-8A68-A770BD3B438E}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D02.2", "D02.2\D02.2.csproj", "{93A5ABCB-787E-41AB-8098-3640A84B2A62}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D02.2", "D02.2\D02.2.csproj", "{93A5ABCB-787E-41AB-8098-3640A84B2A62}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D03.1", "D03.1\D03.1.csproj", "{F0AA6D44-81C9-4FCC-A4FF-CE3D0D827013}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D03.2", "D03.2\D03.2.csproj", "{66934053-8668-499D-A09D-9F52046E8738}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -33,6 +37,14 @@ Global
 		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{93A5ABCB-787E-41AB-8098-3640A84B2A62}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F0AA6D44-81C9-4FCC-A4FF-CE3D0D827013}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F0AA6D44-81C9-4FCC-A4FF-CE3D0D827013}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F0AA6D44-81C9-4FCC-A4FF-CE3D0D827013}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F0AA6D44-81C9-4FCC-A4FF-CE3D0D827013}.Release|Any CPU.Build.0 = Release|Any CPU
+		{66934053-8668-499D-A09D-9F52046E8738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{66934053-8668-499D-A09D-9F52046E8738}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{66934053-8668-499D-A09D-9F52046E8738}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{66934053-8668-499D-A09D-9F52046E8738}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 9 - 0
D03.1/D03.1.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+    <RootNamespace>D3._1</RootNamespace>
+  </PropertyGroup>
+
+</Project>

+ 32 - 0
D03.1/Program.cs

@@ -0,0 +1,32 @@
+using System;
+using System.IO;
+using System.Linq;
+
+namespace D03._1
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            if (args.Length < 1) throw new ArgumentException();
+            if (File.Exists(args[0]) == false) throw new FileNotFoundException();
+
+            int answer = 0;
+
+            using (var file = File.OpenText(args[0]))
+            {
+                while (true)
+                {
+                    var line = file.ReadLine();
+                    if (line == null) break;
+
+                    int[] l = line.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(s => int.Parse(s)).ToArray();
+
+                    answer += l[0] + l[1] > l[2] && l[0] + l[2] > l[1] && l[1] + l[2] > l[0] ? 1 : 0;
+                }
+            }
+
+            Console.WriteLine($"The answer is : {answer}");
+        }
+    }
+}

+ 8 - 0
D03.1/Properties/launchSettings.json

@@ -0,0 +1,8 @@
+{
+  "profiles": {
+    "D03.1": {
+      "commandName": "Project",
+      "commandLineArgs": "\"..\\..\\..\\..\\D03.1\\input.txt\""
+    }
+  }
+}

+ 1908 - 0
D03.1/input.txt

@@ -0,0 +1,1908 @@
+    4   21  894
+  419  794  987
+  424  797  125
+  651  305  558
+  655  631  963
+    2  628  436
+  736   50  363
+  657  707  408
+  252  705   98
+  532  173  878
+  574  792  854
+  157  737  303
+  468   76  580
+  502  503  434
+  467  567  310
+  911  911  391
+  791  913  925
+  174   49  532
+  796  803  426
+  800  132  710
+  273  722  711
+  388  576  551
+   17  936  676
+  371  712  141
+  692  738  913
+  745  805  975
+  381  140  680
+  859  344  336
+  109  148  877
+  835  441  716
+  355  288  669
+  968  259  517
+  979  350  773
+  134  222  347
+  614  279  628
+  510  140  590
+  901  581  707
+  958  933  680
+   95  558  766
+  676  739  739
+  890   40  825
+  280  735  297
+  593  354  701
+  555  756  730
+   39  656  853
+  399  660   14
+  293  685   48
+  109  374   42
+  260  608  680
+  306  885  603
+   49  683  810
+  125  513  512
+  706  600  143
+  728  138  658
+  410  673   27
+  617  872   89
+  923  733  103
+  462  674   95
+  352  718  191
+  129  351  173
+  648  839  828
+  332  829  789
+  947   44  214
+  768  576  184
+  672  900  601
+   98  672  738
+  368  926  539
+  271  300  372
+  141  844  261
+  731  426  205
+  734  979  792
+   16  703  888
+  133  682  323
+  428  784  182
+  398  171  394
+  154  845  425
+  643   14  775
+  695  849  432
+   22  227  464
+  490  544  485
+  474  701  910
+  902  629   10
+  996  680   67
+   91  908   75
+  653  600  845
+  439   53  117
+  480  552  860
+  156  144   46
+  492  359  597
+  408  473  614
+  469  343  737
+  777  438  149
+  803  114  676
+   78  835  753
+  567  230  707
+  542  738   49
+  286  542  939
+   75  985  179
+  293  914  854
+  234  609  877
+  237  167  880
+  151  722  925
+  793  515  278
+  350  432  777
+  883  402  581
+  621  501  702
+  494  265  665
+  167  668  345
+  853  911  629
+  747  428  576
+  703  979   73
+  938  798  401
+  851  743  542
+  281  216  483
+  772  573  404
+  598  547  606
+  275  107  823
+   92   94  864
+  416  201  759
+  331  146  446
+  200  375   70
+  459  349  928
+  615   77  999
+  748  380  628
+  624  244  759
+  934  512  163
+  964  117   75
+  515  146  209
+  917   31  218
+  694  640  116
+  758   53  375
+  250  655  353
+  153  200  189
+  259  752   85
+  313  637  129
+  361  632  973
+  896   61  934
+  581  611  483
+  620  788  889
+  959  273  754
+  677  997  322
+   43  201  714
+  181  956  734
+  147  878  850
+  139  802  938
+  542  729   26
+  531  201  915
+  412  917  301
+  845   44  811
+  489  897  626
+  378  384  781
+  429  130  313
+  583  400  515
+  811  937  949
+  584  812  909
+  738  143  205
+   79  813  801
+  599  872  539
+  650  177  384
+  299  267  539
+  506  358  516
+  425  520  185
+  901  854  622
+   84  371   21
+  931  797  642
+  274  155  432
+  366  935  635
+  331  810  836
+   56  725   67
+    9  756  985
+   58   38  946
+  385  807  899
+  336  998    3
+  243  539  893
+  792  117  272
+  345  995  452
+  717  892  262
+  311  694   23
+  737  169  392
+  875  741  379
+  609  422  100
+  644  442  916
+  832   51  967
+  230  962   82
+  380  202  931
+  308  786  903
+  556  668  121
+  194  650  263
+  732   20  346
+  528  445  589
+  341  142  684
+  281  302  550
+  408  511  219
+  683  938  617
+  679  705  763
+  812  847  313
+  557  838  308
+  888   23  145
+  120   20  129
+  450  643  245
+  329  658  282
+   30  878  700
+  698  799  335
+  698  320  595
+  875  959  595
+   50  715  454
+  856  686  269
+  986   38  589
+  834  925   69
+  263  928  654
+  430  175  586
+   99  712  642
+  439  679  132
+  639  714  644
+  563  940   62
+  228  385  666
+  758  757  949
+  137  174  104
+  859  746  939
+  675  140  592
+  324  446  357
+  471  486  455
+  450  429  980
+  955  388  599
+  914  222  512
+  981  673  871
+  941  716  744
+   55  192  173
+   98   48  411
+  774  686  343
+  689  671  412
+  666  613  686
+  420  595  550
+  891  148  204
+  150  678  978
+  420  684   49
+  503  879  985
+   95  508  231
+   90  393  777
+   17  464  813
+  372  120   26
+  513   10  445
+  258  133  460
+  392   29  355
+  116  874  635
+  326  889  493
+  883  599  250
+  913  388  798
+   85  366  782
+  422  416  204
+  533  174   93
+  168  413  270
+  617  996  461
+    8  386    1
+  613  928  464
+  455  545  619
+  424  631  488
+  142  612  146
+  921  374  324
+  744  791  395
+  923  797  445
+  876  447  602
+  851   62  493
+   23  397  993
+  232  602   90
+  790  604  698
+  855    7  654
+  350  105  561
+  550  198  327
+  670  130  340
+  904  943  765
+   23  467  804
+  906  726  948
+  337   90  774
+  438  546  667
+  134  625  247
+  334  282  729
+  619  275  412
+  377    5  763
+  250  722  852
+  754  365  401
+  558  393  615
+  974  673   39
+  922  610  899
+   99  969  868
+   89  616  911
+  235  326  371
+  252  605  907
+  429  387  678
+  564   34  565
+  436  359  584
+  125  780  474
+  842  372  184
+  785  507  489
+  849  418  633
+  962  191  582
+  728  453  669
+   91  970  639
+   48  222  639
+   41  865  103
+  395  765  945
+  551  103    9
+  313  687  956
+  952  109  894
+  612   79  518
+  392  119  506
+  106  739  427
+  941  688  483
+  917  103  114
+  326  466  604
+  393  641  488
+  128  920  135
+  609  742  725
+  101  596  371
+  631  325  416
+  318  939  170
+  166  540  821
+  460  654  843
+  672  942  330
+  620  673  352
+  288  731   20
+  263  277  387
+  259   49  434
+   73  262  278
+  525  775   36
+  867  735  125
+  437  415  141
+  567  537  640
+   99  581  584
+  468  108   84
+  608  997  893
+  573  722  971
+  497  953  399
+  201  184  372
+  203  323  386
+    2  331   72
+  375  687  307
+  484   57  322
+  311  704  416
+  720  961  571
+  444  211  926
+  668  771  666
+  742  688  146
+  447  435  143
+  394  444    1
+  450   39  373
+  150  634  442
+  422  645  546
+  132  562  281
+  795  365  455
+  921  389  255
+   17  153   85
+  795  593  367
+  788  637  447
+  292  297  703
+  190  938  871
+  166  821  386
+  437  636  385
+  160  288  604
+  334  584  837
+  701  207  665
+  470   84  204
+  599  268  739
+  634   92  148
+  507  620  198
+  193  677   94
+  301  990  536
+  874  493  783
+  932  550  497
+   81  166  546
+  633  538  476
+  553  411  790
+  593  159  316
+   47  729  226
+  619  708  409
+   38  535  763
+  421  830  550
+  400  537  641
+  275  531  166
+  247  564  495
+  177  791  655
+  959  363  548
+  232  105  594
+  919  272  912
+  258  467  505
+  882  783  365
+  916  331  441
+   70  815  204
+   66  304  470
+    2  810  372
+  734  276  875
+  771  295   72
+  455  191  892
+  765  384  195
+  758  418  844
+   38  121  980
+  302  379  606
+  116  384  199
+  353   13  607
+  712  805  790
+  589  701  694
+  540  776  276
+  985  814   61
+  996   10  709
+  450  821  652
+  715   26  899
+  628  656  679
+  322  669  279
+  144  649  518
+  962  175  363
+  839  627  292
+  931  934  378
+  588  382  122
+  410  923  263
+  652  680  654
+   25  878  835
+  640  399  396
+  492  202  511
+  510  225  521
+   15  413  233
+  493  551  122
+  683  222  569
+  248  457  641
+  100  936  315
+  902  998  870
+  975   98  680
+  998  309  653
+  605  944  532
+  530  887  400
+  572  879  925
+  311  147  692
+  425  924  848
+  453  945  934
+  492  918   22
+  434  338  933
+  288  297  665
+  274  712  185
+   99  503  741
+  868  523  263
+  828  218  121
+   53  565  236
+   15  409  778
+  367  293  444
+  352  610  413
+  892  970  706
+  954  767  321
+   75  656  414
+  823  781   57
+  423  673  349
+  817  405  324
+  768   19  345
+  302  949  529
+  654  944  794
+  262  766  959
+  783   92  866
+  772  718  772
+  629  154  669
+  723  349  109
+  914  352  599
+  559  746  346
+  492  781  860
+  103   52  624
+  655  397  857
+  680  242  417
+  183  203  846
+  714  519  457
+  849  292  946
+  605  566  646
+  793  653  156
+  111  135   44
+  882  531  191
+  920  773  378
+  911  340  546
+   23  655  382
+  656  708  587
+   43  792  708
+  673  734  605
+  506  725  943
+  421  762  553
+  471  214  572
+  195  575  438
+  114  546  687
+  121   47  894
+  744  221  820
+   58  273  982
+  759   58  233
+  770  824  785
+  857  441  480
+   87  387  477
+  838  633   28
+  635  547   49
+  329  404   47
+  534  955  933
+  661  985  662
+  199  144  713
+  228  996  622
+  197  523  858
+   64  486  552
+  859  968  422
+  847   31  648
+   41  944  812
+  625  953  830
+  987  734   37
+  529  512  825
+  104  690  688
+  602  224  973
+  592  888  409
+  241  247  639
+  290   80  570
+  483  284   97
+  322  223   57
+   91  204  503
+  257   18  464
+  904  480  177
+  945  364  137
+  199  240  234
+  231  177   23
+  537  147  464
+  683   71  468
+  448   55  544
+  264  143  640
+  307  125  706
+  674  384  373
+  469  903  656
+  538  695  361
+  461  942  728
+  430  911  347
+   85   70  789
+  422  525   65
+  466  322  776
+   49  620  765
+  832  530    9
+  215   92  417
+  965  511  415
+  865  888  289
+  993   74  332
+  685  830   52
+   11  334  151
+   98   36  192
+   93  307   89
+   38  483  498
+  674  317  910
+  697  302  486
+  267   29  508
+  816  924  165
+  895  954  671
+  629   75  634
+  591  301  149
+  368  346  735
+  916  606  382
+   63  786  124
+  916  180  475
+  466  656  218
+  128   35  326
+  570  665  164
+  181  382  773
+  256  122  266
+  130  288  905
+  288  524   40
+  278  526  471
+   39  243  476
+  951   16  522
+  662   93  522
+  378  107    7
+  218  520   10
+  654  399  343
+  674  158  351
+  854  320  834
+  722  358  818
+  231  178  671
+  862  892  764
+  109  461  982
+  943  655  412
+  745  541  255
+  868  541  297
+  472   20  224
+  163  991  647
+  249  883  588
+  232  486  162
+  236  281  784
+  416  261   65
+  377   34  790
+  357  121  610
+  542  439  866
+  860  324  598
+  865  337  712
+  368  421  977
+  839  280  457
+  140  655  416
+  962  381  331
+  901  685  732
+  818  483  831
+   13  724  791
+  818  694  222
+  746  822  841
+  829  418  836
+  335  565  408
+  516  447  281
+  584  204  166
+  480  508  119
+  713  787  704
+  626  941  739
+  206  418  284
+  989  326  701
+  636  396  195
+  397  393  655
+  240  696  896
+  166  117  974
+   72  733  210
+  797  533  566
+  729  728  481
+  663  212   86
+  298  475  563
+  590  533  517
+  618  314  133
+  422  195   38
+  195  415  288
+  540  303  253
+  446  553  859
+  568  891  223
+  432  617  981
+  519  214  775
+  529  721  844
+  786  898  692
+  440  401  201
+  345  353  846
+  296  566  906
+  638  422  370
+   15  577  469
+  624  192  134
+  136  554  755
+  182  690  940
+   77  366  923
+  284  979  275
+  157  582  373
+  433  547  343
+  767  786  527
+  983  877  385
+  581  612  158
+  365  520  673
+  436  227  897
+  458  421  913
+  579  492  760
+  818  493  507
+  316   22  867
+  114  421  939
+  372  281  912
+  415  608  633
+  938  676  927
+  965  591  931
+  335  789   34
+  865  820  346
+  406  798  304
+  893  441  267
+  166  126  835
+  764  859  839
+  629  918  194
+  557  297  552
+  954   79  478
+  801  224  670
+  640  493  262
+  750  478  681
+  534  867  654
+  980  586  142
+  882  597  156
+  277  186   48
+  448  541   23
+  457  702  496
+   11  936  491
+  689  668  457
+  368  941  288
+  914  311  464
+  893  843  828
+  800  933  797
+  951  427  657
+  754  215  476
+  148  260  508
+  735  130  193
+  390  631  761
+  288  203  777
+  273  443   23
+  189   20  355
+  240  344  560
+  157  360  674
+  921  774  803
+  473  943  937
+  600  920  393
+  611  579  530
+  632  577   59
+   24    5  495
+  701  358  722
+  703  284  820
+  625  625  844
+  649  253  531
+  447  309  534
+  662  218  419
+  762  347  627
+  947  344  133
+  581   36  652
+  222  747  122
+  238  761  162
+   72   82  231
+  717  296  966
+  563  516  774
+  273  451  819
+  956  175  651
+   33  770  754
+  956  650  369
+  146  838  148
+  588  713  547
+  453  457  541
+  979   92  401
+  967  162  417
+  144  155  672
+  725  737  962
+  779  701  886
+   64  203  120
+  433  284  482
+  911  538  512
+  613  713   77
+  268  636  685
+  445  955  193
+  458  677  653
+   91  450  356
+  747   11  360
+  728  448  147
+   37  494  679
+  780  582  256
+  756  212  810
+  556  434  265
+  280  472  983
+  547   93  857
+  922  225  378
+  754  138  346
+  236  235  349
+  718  421  501
+   80  880  464
+  753  490  286
+  616  332  218
+  338  391  547
+  490  599  370
+   35  559  686
+   67  290  565
+   30  597  153
+   59  763  701
+  268  439  123
+  237  940  669
+  451  205  145
+  302  284  961
+  365  443  828
+  225  598   65
+  437  561   73
+  248  219    7
+   72   29  274
+  577   35  654
+  537   41  857
+  956  966  739
+  545  747  373
+  479  463  705
+  112   79  161
+  280  885  672
+  322  829  596
+  422  279  697
+  804  997  963
+  907  852  494
+  321  245  492
+  298  698  419
+   49  454  185
+  169  214   25
+  880  324  414
+  816  163  425
+  366  370  167
+  729   49  684
+  460  337  792
+  719  908  817
+  825  310  303
+  245  814  724
+  877  713  128
+  488  241  839
+  499  820  884
+  918  356  273
+   69  228  442
+  877  523  698
+  780  391  627
+  838  539  547
+  512  867  786
+  491  298  421
+  402  153  940
+  602  220  539
+  638  167  534
+  626  204  122
+   77  170  569
+  342  364  529
+   74  523  842
+  416  675  415
+  292  900  918
+  335  565  795
+  145  396  558
+  320  421  585
+  315  495  106
+  618  492  494
+  985  684  702
+  261   35  699
+  890  678  100
+  797  972  693
+  782   12  675
+  991  963   24
+  774  465  254
+  409  446  291
+  920  178  430
+  558  186  476
+  668  502   39
+  897  497  471
+  927  534   95
+  465  621  535
+  971  718  597
+  440  803  941
+  859  104   59
+  891  712  889
+    7  465  712
+  928  323  951
+  938  251  464
+  939  541  491
+  376  430  543
+  605  181  684
+  849  578   57
+  635  433  572
+  958  171  565
+  525  870   63
+  198  864  591
+  466  125  610
+  442  604  512
+  444  666   55
+  129  374  546
+  893  328  978
+   78  279  999
+  852  302  465
+  378  619  123
+   97  246  185
+  374  775  308
+  579   48  388
+  497  730  745
+  142  703  596
+  387   31  973
+  861  944  602
+  894  919  522
+  755  689  409
+  592  310  115
+  326  708  398
+   53   87  866
+  966  266  370
+  925  281  815
+  864  315  882
+  699  352  849
+  526  185  948
+   58  454  681
+  496  917  237
+  556  907  558
+  815  422  705
+  232  423  194
+  941  811  583
+  686  207  335
+  637  693  440
+  574  795  385
+  531  936  899
+  721  950   37
+  317  786  906
+  830  719  101
+  360  615  650
+  689  218  676
+  790  208  197
+  621    7  791
+  868  203  866
+   16  491   53
+  952  268  717
+  956  736  773
+  793  386  760
+  750  624  957
+  184  964  443
+  454  684  835
+  439  931   60
+  293  434  866
+  990  467  282
+  664  423  302
+  523  485  116
+  127  469  710
+  625  758  497
+  514  544  998
+  571  281  413
+  458   70  645
+  526  283  884
+   77  738  725
+  802  278  508
+  782  597  976
+  385  358  919
+  710  492  994
+  750  517   79
+  964  231  679
+  370   34  845
+  951  245  299
+   83  431  846
+  384  989  609
+  447  761  747
+  647  898  371
+   95  794  298
+  644  157  625
+  663  107  507
+  572  927  578
+  165  926   94
+  455  530  905
+  397  412  598
+  616  239  788
+  228  556  609
+   26  540  184
+  208  745  687
+  877   36  977
+   64   29  195
+  936   56  807
+  952  253  397
+   62  246   95
+  923  102  491
+  576  116  739
+  919  559  820
+  882  534  865
+  490  650  961
+  441  741  975
+   59  922  597
+   76  209  337
+  293  785  447
+  338  971  276
+  117  581  939
+  210  266  701
+  108  448  378
+  253  556  164
+  998  200  168
+  969  358   13
+  606  206  458
+  752  400  571
+  796  521  911
+  934   50  150
+   96  205  764
+  844  216  657
+  669  434  222
+  242  301   66
+  471  277  227
+  732  681   20
+   67  991  597
+  784  793  613
+  198  841  555
+  109  429  396
+  219  461  729
+  128  255  888
+  850  154  754
+  809  226  387
+  719  468  706
+  289  436   26
+  441  280  688
+  510   57  451
+  417  255  277
+  670  198  625
+  791  681   20
+  803  998  294
+  332  323  282
+  905  213  739
+  115  267  394
+  965  213  788
+  125  829  635
+   90  281  640
+  103  584   81
+  407  771   19
+  205  213  708
+  380  814  704
+  778  462  872
+  799  553  758
+  402  193  269
+  403  947  198
+  814   22  499
+  532  948  570
+  159  951  932
+  505  616  592
+  507  657  785
+  811  860  675
+  831  140   99
+  450  966  627
+  939  358  947
+  182  201    1
+  951  487  951
+  367  376  539
+  972  491  495
+  758  761   80
+  122  872  278
+  933  927  926
+  835  300  759
+  733  195  418
+  347   73  485
+  783  138  660
+  186  586  422
+  464  301  410
+  479  552  175
+  532  634   83
+  383  285   44
+  436  431   58
+  535  170  985
+  632  274  488
+  338  130  571
+  176  582  380
+  669  613  396
+  705  169  719
+  856  993  121
+  133  966  370
+  914  196  281
+  798  669  132
+  890  418  374
+  955  705  442
+  159  406  397
+  404   59  893
+  526  377  933
+  248  442  442
+  471  116  739
+  292  552  575
+  676  666  574
+  511  172  422
+  796  592  548
+  697  197  477
+  661  900  981
+  526  779  684
+  989  910  867
+  482  449  661
+  891  955  235
+  826  260  714
+  652  178  978
+  234  346  905
+  935  213  526
+  329  593  819
+  651  773  628
+  879  926  371
+  868   42  701
+   13  891  485
+  130  730  141
+  454  725  922
+  586  445  826
+  274   99   77
+  282   84  102
+  318   19   73
+  467  956  769
+   90  409  641
+  417  660  846
+  417  577  381
+  463  863  570
+   46  323  473
+  261  448  309
+  499   63  834
+  334  421  710
+  392  296  356
+  432  152  633
+   48  257  572
+  130  797  559
+  304  136  450
+  285  807  671
+  715  135  563
+  504  218  531
+  838  139  745
+  938  200  245
+  866  797  168
+  656  709  308
+  213  654  329
+  550  138  928
+  454  702  780
+  881  227  940
+   83  894  989
+  903  836  207
+  134  762  835
+  592  857  242
+  724  922  700
+  612  291  718
+  874  856  943
+  413  854  568
+  843  169  497
+  815  927  781
+  236  776  958
+  990  235  853
+  537  229  396
+  706  195  709
+   13   38  102
+  665  705  455
+  655  735  525
+  490   30  684
+  291  219   12
+  657  236  687
+  814  779  613
+  957  976  589
+  705  994  456
+  276  389  477
+  968  752  553
+  708  859  947
+  267  922  639
+   34  724  754
+  253  262  358
+  693  662  387
+  386  326  592
+  432  547  227
+  295  465  360
+  604  434  858
+  627  759  610
+  676  557  182
+  231  538   98
+  817  595  122
+  153  686  713
+   71  491   59
+  197  631  744
+  202  441  943
+  509  420  915
+  572  160  162
+  836  976  237
+  235   26  160
+  729  984  367
+  385  758  902
+  190  475  560
+  432  289  613
+  435  200  247
+  366  614  260
+  708  445   16
+  367  330  743
+  397  750  311
+   35  581  700
+  574  182  762
+  930  258  952
+  739  297  845
+  291  229  421
+  986  463  383
+  875  605  217
+  215  993    9
+  762  768  136
+  960  561  130
+  809  868   81
+  843  592  612
+  159  449  610
+  148  831  220
+   42  173  589
+  152  872  608
+  895  190  707
+  675  245  822
+  671  246  352
+  401  246  973
+  124  390  123
+  461  579  871
+  874  975  766
+  472  257  751
+  421  887  254
+  429  259  207
+  472  362  673
+  392  598  763
+  459  736   45
+  771  314  779
+  734  589  747
+  206  592  287
+  984  629  554
+  801  590  601
+  517   61  527
+  389  133  105
+  862  114  607
+  238  748  757
+  915  890  653
+  984  939  697
+  532   53  229
+  822  196  730
+  621  248  666
+  901  819  307
+  809  540  510
+  113  719  233
+  348   69  692
+  842  890  213
+  821  951  579
+  529  323  306
+   89  323  543
+  440   26  722
+  802  522  426
+  756  657  960
+   93  596  816
+  866  442  378
+  828  556  364
+   96  121   12
+  317  648  577
+  253   53  633
+  544  688  931
+  424  790  344
+  458  865  145
+  562  831  363
+  893  221  919
+  840   92  529
+  169  297  774
+  838  306  682
+  441  121  570
+  428  389  811
+  344  727  239
+  196   44  826
+  229  728  950
+  357  615  210
+  859  776   89
+  935  539  212
+  884  487  844
+   31  508  774
+  851   25  109
+  436  477  675
+  584  995  828
+  573  794  507
+  599  655  909
+  303  126  412
+  752  568  805
+  987  391  459
+  680  853  647
+  778  468  531
+  415  606  323
+  490  746  519
+  373  674  320
+  200   95  319
+  251  186  808
+   49  280  952
+  173  406  142
+  421  808  498
+  550  953  635
+  314  384  519
+  383  663  385
+  116  706  387
+  376  445  205
+  430  181  173
+  248  525   43
+  274  444  534
+  582  464  599
+  858   68  229
+  353  821  235
+  564  259  256
+  510  953   54
+  713  337  323
+    4   96  282
+  711  402   41
+  337  629  820
+  185  206  180
+  385  472  645
+  455  600  405
+  743  974   79
+  591  819  423
+  741   14  207
+  290  698  121
+  851  693  145
+  739  993  803
+  740  484  702
+  304  582  551
+  132  253  734
+  770  178  853
+  835  268  809
+  759  934  619
+  984  542  238
+  835  741  413
+  606  159  861
+  699  163  862
+   96   50   31
+  814  712  650
+  818  212  404
+   32  784  659
+  111  465  941
+  895  376  756
+  924  574  646
+  341  753  965
+  400  394  948
+  379  471   35
+  171  467  199
+  528   16  634
+  360  453  592
+  820   44  316
+  591  841  550
+  724  825  255
+  356  648   85
+  338  530  337
+  637  151  291
+  811  629  578
+  709  389   77
+  208  856  654
+  781  611  560
+  165  676  590
+  657  192   67
+  737  322  236
+  946  299  235
+  410  438  205
+  789  274  389
+  834  318  884
+  107  335  552
+  283  336    8
+  755  310  431
+  920  497  430
+  576  751  597
+    9  893  607
+  570  151   70
+  514  330  198
+  481  726  103
+  324  929  124
+  594  180  866
+  901  125   69
+  528   60  899
+  705  772  441
+  156   93  469
+  701  849   58
+   66  437  140
+  424  499  152
+  380  921   55
+  825  124  860
+  424  246  851
+  832  211   94
+  419  701  417
+  296  310  689
+  127  647  813
+  881  699  761
+  815  948  199
+  176  386  713
+  371  373  510
+  356  995  411
+   97  864  476
+  267  888  213
+  656  368  996
+  921  760  863
+  208  243  271
+  241   16  796
+  168  256  928
+  213  677  471
+  829   27  169
+  747  648  351
+  339  681  214
+  398  512  176
+  251  212  367
+  313  846  267
+  255  735  547
+  271  212  356
+  146  401  656
+  245  891  351
+  334  623  729
+  498  864  547
+  857  596  730
+  482  834  899
+  400  836  434
+   78  390  440
+  398  688  167
+   63  564  884
+  587  891  982
+  594  431  168
+  439  990  512
+  219  905  258
+  550   82  523
+  631  402  199
+  148  517  112
+  743  670  185
+  605  731  534
+  651  124  537
+   81  710  220
+  520  635  499
+  761  929  500
+  741  403  917
+   68  710  230
+  278  538  203
+  235  229  295
+  470  244  126
+  448  350   96
+   56  247   75
+  861  763   85
+  571  855  522
+  410   96  437
+  196  552  400
+  651  453  974
+  458  674  706
+  211  593  139
+  388  134  179
+  407  608  180
+  640  454  445
+  213  176  407
+  616  447  712
+  252  103  866
+  242   27  981
+  147   85  675
+  314  370  693
+  256  490  434
+  296  206  544
+  531  137  677
+  577  524  896
+   61  486  293
+  677  425  436
+  605  304  630
+  654  542  339
+  863  592   22
+  914  224  711
+  234  649  727
+  873  159  424
+  826  639  696
+  136  653  407
+  436  767  449
+  678  875  610
+  271  785  460
+  569  592  969
+  729  582  988
+  326  139  391
+  841  847  925
+  425  991  861
+  642  949  501
+  895  661  827
+  979  685  941
+  724  208  801
+  439  724  125
+  527  998  303
+  150  327  217
+    7  188  418
+   52  110  291
+   59  211  162
+  989  311  166
+  377   12  561
+  650  303  503
+  427  496  663
+  419  913   81
+  364  531  661
+  991   37  692
+  773  394  245
+  459  357  617
+  949  190   23
+  544  154  313
+  629  156  298
+  338  753  854
+  282  744  855
+  273   23    3
+  908  784  528
+  889  764  520
+   65  327   55
+  118  826  479
+  285   34   48
+  320  820  441
+  652  154  358
+  373  876  806
+  543  778  916
+  261  387  788
+  695  408  734
+  956  128  961
+  750  302  195
+  669  163  641
+  197  291  528
+  406  959  749
+  835  747  135
+  474  931  721
+  374  616  113
+  385  279   59
+   85  772  123
+  767  955  243
+  782  383  174
+  253  918  312
+  941   99  123
+  234  689  235
+  950  737  269
+  145  535  192
+   13  352  267
+  134  621  325
+  897  529  864
+  373  646  618
+  597  968  619
+  876  655  663
+   83  735  132
+  866  556  738
+  580  162  735
+  437  822  458
+  482  811  492
+  401  656  753
+  615  435  892
+  493  771  395
+  721  994  734
+  243  133  298
+  526  873  809
+  564  836  232
+  768  309  254
+  366  958   72
+  568  606  339
+  775  134  538
+  255  575  619
+  997  278  669
+  957   88  623
+  720  342  370
+  213  811  197
+  931  690   50
+  838  814  200
+  776  480  744
+  638  396  519
+  356  511  309
+  912  125   65
+  939  277  931
+  305  350  864
+   20  981  501
+   78  931  296
+   66  194  781
+  572  395  560
+  453   92  447
+  919  312  747
+  824   44  469
+  367  312  862
+  709  357  563
+  637  984  458
+  549  698  470
+  248  861   48
+  603  264  145
+  379  795   37
+  607  646  180
+  826  195  197
+  562  207  255
+  426   29  108
+  945  796  577
+  292  521  686
+  674  293  324
+  739   14  179
+  544  385  839
+  236  373  943
+  126  522  467
+   17  521   11
+  111   12  470
+  232  480  781
+  393  938  941
+  541  520  836
+  705  990   34
+  800  961  999
+  532  825  963
+  783  931  544
+  327  483  595
+  578  905  886
+  734  718  476
+  744  158  824
+   80  643  837
+  118  615  866
+   59   51  845
+   56  598  106
+  676  553  786
+  660  815  795
+  202  324    8
+  349  876  702
+  421  439  420
+  717  937  924
+  223  875  728
+  236  895  561
+  302  114  176
+  314  163   38
+  349  581  456
+  124  526  474
+  537   74  902
+  618  216  612
+  183  160  937
+  945  731  219
+  108   30  508
+  935  728  300
+  854  527  753
+   87  473  250
+  918  208  524
+  554  611   73
+  545  728  620
+   77  596  588
+  751  552  839
+  615  178  163
+  993  541  716
+  581  615  625
+  788  406  731
+  655  937  322
+  223  203  650
+  267  376  258
+  321  428  886
+  379  751  439
+  865  701  554
+  758  180  165
+  880  855  658
+   53  414  748
+  852  963  754
+  324  813   28
+  535  817  588
+  364   44  581
+  211  198  458
+  193  192  695
+   61   92  991
+  205  599  445
+  920  416  284
+  965  956  500
+  835  324  654
+  627  371  100
+  897   92  624
+   47  382  646
+  800   43  758
+  804  349  363
+  766  209  373
+  299  499  662
+  685  349  311
+   23  870  624
+  202  811  638
+  189  231   50
+  813  226  556
+  546  499  403
+  476  654  206
+  781  604  423
+  805  673  459
+   26  452  406
+  278  721  185
+  364  442  550
+  169  576  423
+  808  518  616
+  841  739  727
+  380  504  391
+  191   81  239
+  895   35  203
+  940   65   86
+  311  717  120
+   77  422   22
+  318  531  139
+  613  513  219
+  650  825  630
+   45  488  702
+  470  339  498
+  849  231  382
+  623  154  426
+   23  433  332
+  810  273  385
+  835  251  140
+   83  577  853
+  125  526  609
+  174  415  846
+  698  974  257
+  280  869    9
+  436  151  254
+  603   73  174
+  782  392   58
+  626  457  140
+  629  410  748
+   40   30  560
+  601  427  364
+  532  766  900
+  969  786   66
+  558   31  848
+    8  834   70
+  915  887  103
+  909  468   53
+  738  758  163
+  805  631  345
+  188  364  354
+  116  605  773
+  366  606   20
+  346   85  757
+  447  812  952
+   51  696  925
+  425  428  977
+  817  409  802
+  911  218  886
+  335  240  294
+   17  100  608
+    2   77  754
+   20  100  721
+  984  724  971
+  446  970  606
+  948  270  957
+  765  492  236
+  527  552   37
+  365  301  253
+  434  418  690
+  501  250  117
+  416  292  808
+  180  696  352
+  657  477  190
+  568  244  418
+  716  395  525
+  725  691  472
+  611  625  489
+  584  930  500
+  600  702  701
+  202  762  713
+  354  361   19
+  579  524  355
+  711  499  338
+  430  427  492
+  680  504  673
+  284  396  779
+  544  250  813
+  247   47  933
+  372  205  679
+  458  583  566
+  161  787  651
+  438  308  536
+  138  281  797
+  452  223  221
+  460  496  911
+  401  351  611
+  191  218  755
+  475  452  497
+   72  219  536
+  906  220  214
+  959   62  418
+  225  697  628
+  195  838  657
+  411  854  328
+  993  733  236
+  846  838  306
+  263  112  119
+  158    9  149
+  144   87  732
+   87   82  674
+  283   33   61
+  888  734  364
+  718  750  344
+    2  485  454
+  337  451  728
+  341  170  577
+  651  272  820
+  225  562  481
+  472  759  609
+   63  402  607
+  731  394  506
+  744  680  331
+  697  381  236
+  336  396  451
+  360   20  281
+  710  608  343
+  624  567  415
+  778  800  390
+  422  831  213
+  453  294  120
+   28  635  287
+  788  367  373
+  213  739  579
+  622  560  219
+  296  890  516
+  733  808  384
+  481  245  585
+   58  647  842
+   60  652  705
+    2  100  202
+   36  696  415
+  151  786  712
+  174  410  804
+  867  904   58
+  885  869  868
+   99  679  864
+  396  301  272
+  744  849  192
+  425  621  289
+  805   71  892
+   92  422  424
+  873  363  573
+  480  977  298
+  263  514  173
+  456  963  265
+  636  637  203
+  902  573  219
+  414  405   90
+  314  842  900
+  251  946  787
+  562  519  831
+  865   20  512
+  560  190  301
+  915  183  779
+  372  559  104
+   15  434  105
+  377  134   11
+  178  479  303
+  503  396  290
+  427  522  349
+  567  694  454
+  630  919   58
+  353  305  511
+  704  867  137
+  713  974  740
+  911  756  703
+  655  148  739
+  519  212  406
+  677  289  620
+  983   84  724
+  142  389  335
+  841  384  662
+  807  587  868
+  888  560  138
+   84   24  812
+  432  278  122
+  656  178  215
+  234  100  209
+  239  186  768
+  101  342  212
+  264  265  666
+  575  971   78
+  655   70  294
+  616  902  307
+  888  637  155
+  929  282  916
+  639  730  964
+  438  345  192
+  468  610  206
+   51  472  217
+  423  875  674
+  371  748  692
+  793  387  318
+  642  879  775
+  499  948  877
+  930  102  541
+  223   95  252
+  588   61  258
+  439   51   56
+  495  666   26
+  262  696  423
+  276  102  416
+  656  484  499
+  807  663  474
+  876  411   24
+  351  138  143
+  312  124  534
+  336  200  421
+  687  489  733
+  751  229  941
+  322  414  256
+  440  575  936
+  373  304    5
+  689  311  931
+  854  760  440
+  824  432  463
+  302  807  159
+  842  822  499
+  751  893  350
+  205  284  474
+  852  890  257
+   91  826  609
+  806  154  808
+  947  710  269
+  999  150  135
+  291  838  260
+  347  728  885
+  481  454  779
+  518  339  139
+  767  914  644
+  519  946  650
+  561   56  988
+  485   44   40
+   42  839  457
+  518  845  490
+  121  535  452
+  392  674  242
+  502  361  491
+  838  170  716
+  828  458  249
+  260  528  618
+  359  825  228
+  494  786  183
+  701  160  315
+  568  437   13
+  577  367  383
+   65  235  376
+  134  948  942
+  151  468  204
+   67  819  813
+   90  396  447
+  688  334  528
+  706  319  398
+  609  530  604
+  564  129  561
+  932  584   43
+  653   30   91
+  262  657  302
+  389  628  375
+    9  664  564
+  764  101  568
+  754  730  927
+  650  910   57
+   51  379   96
+  616  820  112
+  100  564   98
+  688  835  659
+  720  466  647
+  262  893  400
+  425  104  167
+  388  919  466
+  257  765   50
+  197  717  734
+  101  750  750
+  412  526  261
+  382  762  382
+  209  361  315
+  470  712  398
+  447  641   40
+  390  267  438
+  441   98  446
+  402  836  333
+  678  925  255
+  835   35  166
+  471  665  859
+  390  699  875
+  551  523  235
+  691  639  263
+  879  647   53
+  331  413  118
+  154  477  970
+  389  406  916
+  811  948  239
+  408  217  244
+  868  943  404
+  349  276  792
+  236  585  481
+  320  656  546
+  835  769  804
+  161  728  778
+  948  729   65
+  835  164  940
+  692  211  148
+  434   58  920
+  524  174   30
+  572  233   25
+   50   94    8
+  554  421  618
+  338  274  638
+  346  188  656

+ 9 - 0
D03.2/D03.2.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+    <RootNamespace>D3._2</RootNamespace>
+  </PropertyGroup>
+
+</Project>

+ 26 - 0
D03.2/Program.cs

@@ -0,0 +1,26 @@
+using System;
+using System.IO;
+using System.Linq;
+
+namespace D03._2
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            if (args.Length < 1) throw new ArgumentException();
+            if (File.Exists(args[0]) == false) throw new FileNotFoundException();
+
+            int answer = 0;
+
+            var all = File.ReadAllText(args[0]).Split('\n', StringSplitOptions.RemoveEmptyEntries)
+                .Select(a => a.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(s => int.Parse(s)).ToArray());
+            var lines = all.Select(a => a[0]).Concat(all.Select(a => a[1])).Concat(all.Select(a => a[2])).ToList();
+
+            for (int i = 0; i < lines.Count; i += 3)
+                answer += lines[i] + lines[i + 1] > lines[i + 2] && lines[i] + lines[i + 2] > lines[i + 1] && lines[i + 1] + lines[i + 2] > lines[i] ? 1 : 0;
+
+            Console.WriteLine($"The answer is : {answer}");
+        }
+    }
+}

+ 8 - 0
D03.2/Properties/launchSettings.json

@@ -0,0 +1,8 @@
+{
+  "profiles": {
+    "D03.2": {
+      "commandName": "Project",
+      "commandLineArgs": "\"..\\..\\..\\..\\D03.1\\input.txt\""
+    }
+  }
+}