fork download
  1. /*
  2.  * 本件データセットが持つ(問題文では明示されていない)有用な特徴
  3.  *
  4.  * 0. 定義値としてゼロ以下(負も含む)のデータは存在しない
  5.  * 1. 辺が3つとも定義され、かつ、それらが等しい場合、60度以外の角が定義された破綻したデータは存在しない
  6.  * 2. 角が3つとも定義され、かつ、それらが等しい場合、それらが60度以外の値である破綻したデータは存在しない
  7.  * 3. 角が3つとも定義され、かつ、それらが等しい場合、2つ以上の辺が互いに異なる値で定義された破綻したデータは存在しない
  8.  * 4. 角が2つ定義され、かつ、それらがともに60度であった場合、2つ以上の辺が互いに異なる値で定義された破綻したデータは存在しない
  9.  * 5. 辺が2つ定義され、かつ、それらが等しい場合、2つ以上の角が60度以外の値で定義された破綻したデータは存在しない
  10.  * 6. 辺が2つ定義され、かつ、それらが等しい場合、その2辺の狭角でない2つの角が互いに異なる値で定義された破綻したデータは存在しない
  11.  * 7. 角が2つ定義され、かつ、それらが等しい場合、定義された辺の値により三角形として破綻してしまうデータは存在しない
  12.  *
  13.  * 下記コードでは、上記の特徴を前提に「データの整合性」チェックを施していません。
  14.  * こういう「テストコードの隠れた特徴に依存する」コード実装は良くありませんね……
  15.  */
  16.  
  17. import java.io.BufferedReader;
  18. import java.io.FileInputStream;
  19. import java.io.IOException;
  20. import java.io.InputStreamReader;
  21. import java.util.Arrays;
  22.  
  23. public class Main {
  24. public static int[] packParameters(final String str) {
  25. int[] packed = new int[7]; // [形状因子,C,B,A,c,b,a]
  26. // ※ゼロ以下の値で定義された角・辺は存在しないので、ゼロを未定義値として用いて構わない!
  27.  
  28. // 渡されたデータ文の整形
  29. String normalized =
  30. str.replaceAll("cm", "") // 「cm」削除
  31. .replaceAll("度", "") // 「度」削除
  32. .replaceAll("角A", "A").replaceAll("角B", "B").replaceAll("角C", "C") // 角を大文字に
  33. .replaceAll("BC", "a").replaceAll("CB", "a") // 角Aの対辺を小文字1文字に
  34. .replaceAll("AC", "b").replaceAll("CA", "b") // 角Bの対辺を小文字1文字に
  35. .replaceAll("AB", "c").replaceAll("BA", "c") // 角Cの対辺を小文字1文字に
  36. ;
  37.  
  38. // 整形されたデータ文のパース
  39. for (String p : Arrays.asList(normalized.split(","))) {
  40. switch(p.charAt(0)) {
  41. case 'a': packed[0] += 32; packed[6] = Integer.parseInt(p.substring(2)); break;
  42. case 'b': packed[0] += 16; packed[5] = Integer.parseInt(p.substring(2)); break;
  43. case 'c': packed[0] += 8; packed[4] = Integer.parseInt(p.substring(2)); break;
  44. case 'A': packed[0] += 4; packed[3] = Integer.parseInt(p.substring(2)); break;
  45. case 'B': packed[0] += 2; packed[2] = Integer.parseInt(p.substring(2)); break;
  46. case 'C': packed[0] += 1; packed[1] = Integer.parseInt(p.substring(2)); break;
  47. }
  48. }
  49. return packed;
  50. }
  51.  
  52. public static int[] countEdgesAndAngles(int fac) {
  53. return new int[] {
  54. Integer.bitCount(fac & 56), // 定義された辺の数
  55. Integer.bitCount(fac & 7) // 定義された角の数
  56. };
  57. }
  58.  
  59. public static boolean isEquilateral(int[] packed) {
  60. // パックされた定義値の展開
  61. int a = packed[6], b = packed[5], c = packed[4],
  62. A = packed[3], B = packed[2], C = packed[1],
  63. fac = packed[0];
  64.  
  65. int[] ea = countEdgesAndAngles(fac); // 辺と角の定義数を取得
  66.  
  67. if (ea[0] == 3 && a == b && b == c) return true; // 辺が3つすべて定義されて、それらが等しいなら正三角形
  68. // ※このとき60度以外の角を明示的に持つ破綻したデータは存在しない!
  69.  
  70. if (ea[1] == 3 && A == B && B == C) return true; // 角が3つ全て定義されていて、それらが等しいなら正三角形
  71. // ※このとき60度以外の角で等しくなっている破綻したデータは存在しない!
  72. // ※また、定義されている辺のうち2つ以上が異なるため、辺と角が不整合になる破綻したデータも存在しない!
  73.  
  74. if (ea[1] == 2 && ((A == B && A == 60) || (B == C && B == 60) || (C == A && C == 60))) // 角は2つのみ定義され、それらが60度に等しい
  75. return true;
  76. // ※このとき、定義された辺が角と不整合になる破綻したデータは存在しない!
  77.  
  78. if (ea[0] == 2 // 2辺のみ定義され
  79. && (a == b || b == c || c == a) // かつ、それらが等しく
  80. && (A == 60 || B == 60 || C == 60)) // かつ、いずれかの角が60度に等しい
  81. return true;
  82. // ※このとき60度以外の角に定義された破綻したデータは存在しない!
  83.  
  84. return false;
  85. }
  86.  
  87. public static boolean isIsosceles(int[] packed) {
  88. // パックされた定義値の展開
  89. int a = packed[6], b = packed[5], c = packed[4],
  90. A = packed[3], B = packed[2], C = packed[1],
  91. fac = packed[0];
  92.  
  93. if ((fac & 48) == 48 && a == b) return true; // 辺a・bが定義され、それらが等しい
  94. // ※このとき、角A・Bが両方とも定義され、かつ、それらが等しくない破綻したデータは存在しない!
  95.  
  96. if ((fac & 24) == 24 && b == c) return true; // 辺b・cが定義され、それらが等しい
  97. // ※このとき、角B・Cが両方とも定義され、かつ、それらが等しくない破綻したデータは存在しない!
  98.  
  99. if ((fac & 40) == 40 && c == a) return true; // 辺c・aが定義され、それらが等しい
  100. // ※このとき、角C・Aが両方とも定義され、かつ、それらが等しくない破綻したデータは存在しない!
  101.  
  102. if ((fac & 6) == 6 && (A == B // 角A・Bが定義され、それらが等しい
  103. || A == 180-A-B || B == 180-A-B)) // もしくはA・Bいずれかが残りの角と等しい
  104. return true;
  105. // ※このとき、定義された辺により三角形として破綻してしまうデータは存在しない!
  106.  
  107. if ((fac & 3) == 3 && (B == C // 角B・Cが定義され、それらが等しい
  108. || B == 180-B-C || C == 180-B-C)) // もしくはB・Cいずれかが残りの角と等しい
  109. return true;
  110. // ※このとき、定義された辺により三角形として破綻してしまうデータは存在しない!
  111.  
  112. if ((fac & 5) == 5 && (C == A // 角C・Aが定義され、それらが等しい
  113. || C == 180-C-A || A == 180-C-A)) // もしくはC・Aいずれかが残りの角と等しい
  114. return true;
  115. // ※このとき、定義された辺により三角形として破綻してしまうデータは存在しない!
  116.  
  117. return false;
  118. }
  119.  
  120. public static void main(String[] args) throws IOException {
  121. // リーダーの生成
  122. //BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\data.utf8.txt")));
  123.  
  124. // データセットの読み取りと解析
  125. String line = null;
  126. while ((line = br.readLine()) != null) {
  127. String[] terms = line.split("\t"); // 問題文のデータを分割
  128.  
  129. int[] packed = packParameters(terms[1]); // 問題文のデータから定義パラメータを抽出
  130.  
  131. if (isEquilateral(packed)) { // 正三角形か?
  132. if (!terms[2].equals("あ")) System.out.println(terms[0]); // 正三角形なのに「あ」じゃない
  133. } else if (isIsosceles(packed)) { // (正三角形ではない)二等辺三角形か?
  134. if (!terms[2].equals("い")) System.out.println(terms[0]); // (正三角形ではない)二等辺三角形なのに「い」じゃない
  135. } else {
  136. if (!terms[2].equals("う")) System.out.println(terms[0]); // 上記のいずれでもないのに「う」じゃない
  137. }
  138. }
  139. }
  140. }
  141.  
  142. /*
  143. 【感想・工夫した点など】
  144. 「面倒くさくないように実装することもできる」そうなので、ちょっと再挑戦&再提出してみます。
  145.  
  146. データを念入りに舐めてみた結果、
  147.  
  148. 「正三角形もしくは二等辺三角形として決定できるデータについては、
  149.  決定に必須ではない項により三角形として不整合になってしまう、
  150.  というようなイヤらしいデータは存在しない」
  151.  
  152. ということが確認できました(決定できないデータについては不整合なものも存在する)。
  153.  
  154. 上記特徴を利用することで、不整合チェックが不要になり、正三角形/二等辺三角形の
  155. 判定ロジックがかなりシンプルになりました。
  156.  
  157. ……が、こんな「仕様に明記されてない(偶然かもしれない)データの特徴」を
  158. 前提にしたコード実装は、個人的には受け入れられませんけどねw
  159. ※「中学入試の範囲内だから」てのも仕様としては曖昧すぎますね。
  160.  
  161. ※ユニットテストなら「甘いテスト書くほうが悪い」と居直るところですが……
  162. */
Success #stdin #stdout 0.15s 380672KB
stdin
0	角C=60度,角A=60度,角B=60度	あ
1	角A=160度,角C=10度,角B=10度	い
2	角B=25度,CA=19cm,角C=6度	う
3	AC=11cm,CB=8cm,角B=60度	う
4	角C=7度,AB=9cm,角A=136度	う
5	AB=7cm,CA=7cm,角C=60度	あ
6	角B=60度,角A=60度,角C=60度	あ
7	角A=60度,BA=8cm,CB=8cm,AC=8cm	あ
8	角B=60度,角A=60度,BC=9cm,角C=60度,BA=9cm	あ
9	角C=60度,角B=60度	あ
10	角A=108度	う
11	AC=15cm,BC=15cm,BA=15cm	あ
12	角A=60度,BC=6cm,CA=8cm	う
13	角A=60度,AC=6cm,BA=6cm,CB=6cm,角B=60度,角C=60度	あ
14	AC=13cm,BC=13cm,AB=13cm	あ
15	角C=60度,CB=7cm,AB=7cm,角A=60度	あ
16	角B=36度,BC=12cm,角A=39度,角C=105度	う
17	AC=1cm,CB=1cm,角C=60度,角A=60度	あ
18	角B=1度,CA=17cm,BC=17cm,角A=1度,角C=178度	い
19	CA=18cm,BA=8cm	う
20	角C=148度,AC=10cm,角B=16度	い
21	角A=119度	う
22	BA=11cm,CB=11cm	い
23	角B=20度,BC=14cm,角C=106度	う
24	CB=9cm,角C=60度,AB=9cm,角A=60度,角B=60度,AC=9cm	あ
25	AB=9cm,角A=60度	う
26	角A=8度,角B=8度	い
27	角C=50度,角B=50度,AB=12cm,角A=80度	い
28	角A=60度,角C=60度,BA=10cm	あ
29	CB=7cm,CA=1cm	う
30	BA=11cm,角B=60度,角A=60度	あ
31	角A=31度,角C=17度	あ
32	AB=6cm	う
33	角B=60度,角C=60度,BC=19cm,CA=19cm,角A=60度	あ
34	角B=66度,角C=57度,角A=57度,AC=19cm	い
35	BC=18cm,CA=16cm	う
36	角B=11度,角C=112度,角A=57度,AB=8cm	う
37	CA=15cm,AB=15cm	い
38	AB=1cm,角C=20度,角A=20度,角B=140度,CB=1cm	い
39	CA=16cm,AB=9cm,角C=60度	う
40	角C=108度,BC=13cm,角A=36度	い
41	角B=20度,角C=2度	あ
42	角B=60度,角C=60度,角A=60度	あ
43	AB=7cm,AC=15cm,BC=11cm	う
44	角A=65度,CB=10cm,角B=50度,角C=65度	い
45	角B=60度,角A=60度,角C=60度,AB=15cm	あ
46	角A=6度,角B=6度,角C=168度	い
47	角B=60度,BC=9cm,角A=60度,角C=60度,CA=9cm,BA=9cm	あ
48	角C=140度,角A=1度	う
49	角B=19度,角A=30度	う
50	AC=13cm,角B=30度,BA=6cm	う
51	角C=19度,角A=19度,CA=2cm	い
52	AC=15cm,BC=16cm,AB=16cm	い
53	BC=17cm,CA=17cm,BA=17cm	あ
54	BA=10cm	う
55	AB=16cm,BC=18cm,角C=30度	う
56	AB=19cm,角B=2度,角C=17度	う
57	AC=20cm,角B=60度,BA=20cm,角C=60度,BC=20cm	あ
58	BC=31cm,BA=13cm,AC=19cm	う
59	AB=20cm,CB=21cm,CA=2cm	あ
251	AC=10cm,BA=8cm	う
252	CA=15cm	う
253	角C=60度,BC=13cm,AB=13cm,角B=60度,CA=13cm	あ
254	角C=30度,AB=16cm	う
255	角C=13度,角A=2度,BC=10cm	う
256	角C=16度,BA=5cm,CA=5cm	い
257	角C=63度,角B=63度,BA=5cm,角A=54度,CA=5cm	い
258	角B=60度,CB=21cm,BA=16cm,AC=19cm	う
259	CB=11cm,BA=3cm	う
260	角C=41度,AC=8cm,BA=8cm	い
261	角B=64度,角A=52度,BA=11cm,角C=64度	い
262	CA=7cm,角A=60度,AB=7cm,BC=7cm	あ
263	CB=17cm,BA=15cm,角C=30度	う
264	BC=16cm,角A=16度,角B=148度,BA=16cm	い
265	AC=16cm,CB=16cm,AB=16cm	い
266	角C=60度,角B=60度,CB=11cm,角A=60度	あ
267	角B=31度,角A=140度,角C=9度	う
268	角A=47度,角B=47度,BA=8cm,角C=86度	い
269	CB=20cm,角B=60度,角A=60度,BA=20cm,CA=20cm,角C=60度	あ
270	角A=61度,BC=19cm,AB=19cm,角C=61度	い
271	BA=11cm,角A=60度,BC=11cm,CA=11cm	あ
272	角A=78度	う
273	AC=2cm,AB=2cm	い
274	角C=34度,角A=73度	い
275	CA=13cm,角B=60度,角C=60度,角A=60度	あ
276	BA=18cm,角A=43度,CB=18cm,角B=94度,角C=43度	い
277	BC=13cm	う
278	角B=27度,角C=37度	う
279	角C=30度,AB=7cm,AC=7cm	い
280	角C=76度,AB=4cm,CA=4cm,角A=28度	い
281	AB=15cm,角C=60度,CA=15cm,BC=15cm,角B=60度	あ
282	角A=60度,BA=1cm,AC=1cm,BC=1cm	あ
283	角B=157度	う
284	角A=36度,BC=8cm	う
285	AC=4cm,AB=4cm,CB=4cm,角B=60度	あ
286	AB=16cm,角C=60度,角B=60度,AC=16cm,CB=16cm,角A=60度	あ
287	BA=14cm,角C=60度,AC=14cm,CB=14cm	あ
288	CB=3cm,BA=20cm	う
289	BC=17cm,角A=62度,角C=56度	い
290	BA=20cm,角B=30度,CA=20cm	い
291	AC=5cm,AB=16cm,角A=120度,BC=19cm	う
292	角B=11度,角A=14度,角C=155度	う
293	角A=60度,AB=20cm,AC=20cm,BC=20cm	あ
294	AB=19cm,AC=19cm	い
295	角C=78度,CA=14cm,角B=51度,CB=14cm	い
296	角C=67度,角B=46度,BC=17cm,角A=67度	い
297	BC=5cm,角C=162度,CA=5cm,角A=9度	い
298	CA=10cm,AB=10cm,角A=60度,角C=60度	あ
299	AC=5cm	う
351	BC=17cm,AC=5cm,BA=17cm	い
352	AB=14cm,角A=60度,BC=14cm	あ
353	BC=20cm,角B=60度,角A=60度	あ
354	角A=8度,角C=11度,角B=161度	う
355	BA=15cm,角B=78度,角C=78度	い
356	BC=14cm,AB=14cm	い
357	角C=128度,角A=3度	う
358	角A=36度,角B=96度	あ
359	CB=14cm,AC=14cm	い
360	角A=59度,角B=1度,角C=120度,BA=13cm	う
361	CB=11cm,角A=60度,AC=11cm,角B=60度	あ
362	角C=102度,CB=19cm,角B=1度	う
363	角A=10度,角C=10度,角B=160度	い
364	CA=2cm,角B=60度,角A=60度,角C=60度	あ
365	BC=15cm,AC=15cm,BA=15cm	あ
366	角B=60度,AC=14cm,角C=60度	あ
367	角A=20度,角B=140度	い
368	角C=48度	う
369	角C=60度,BA=11cm,角B=60度,角A=60度	あ
370	CB=1cm,角A=135度,角B=12度,角C=33度	う
371	角B=12度,角C=41度,角A=127度	う
372	角A=94度	う
373	角C=60度,AB=5cm,角B=60度	あ
374	角B=86度,CB=8cm,角C=8度	い
375	角C=108度,AC=3cm,角B=36度,CB=3cm	い
376	角A=151度,角C=27度	う
377	AC=15cm,角B=18度	う
378	CA=17cm,BC=19cm,角B=142度	う
379	CB=2cm,角A=30度,BA=18cm	う
380	角C=50度,角B=65度	い
381	角A=60度,CB=11cm	う
382	角B=57度,角C=92度,角A=31度	う
383	CB=9cm,CA=10cm,BA=2cm	う
384	角C=55度,BA=17cm,CB=17cm,角A=55度	い
385	角B=60度,CA=1cm,角A=60度,角C=60度	あ
386	角A=60度,角C=60度	あ
387	角B=13度,CA=2cm,角C=154度,BC=2cm	い
388	AC=17cm,BC=17cm	い
389	角C=10度,角B=160度,AB=2cm,角A=10度,BC=2cm	い
390	角B=75度,角C=45度,角A=60度	う
391	角B=65度,角A=18度	う
392	角B=30度,角C=120度	い
393	AC=10cm,AB=10cm	い
394	角B=82度	う
395	角A=60度,AB=2cm,角C=60度,角B=60度,BC=2cm,AC=2cm	あ
396	AB=3cm,角C=60度,角B=60度,CB=3cm,角A=60度,AC=3cm	あ
397	BC=4cm,角A=120度	う
398	角A=53度,角C=74度,角B=53度	い
399	角B=103度,CB=2cm,角C=35度,角A=42度	う
400	CA=10cm,角B=60度	う
401	CA=11cm	う
402	角C=60度,角B=60度	あ
403	BA=6cm,AC=4cm,CB=4cm	い
404	角A=50度,角C=49度,角B=81度	う
405	AB=16cm,AC=13cm,角B=30度	う
406	角C=60度,CB=7cm,BA=7cm,角B=60度	あ
407	BC=17cm,AB=17cm,角B=30度	い
408	角C=23度,角B=48度	う
409	角C=60度,AC=1cm	う
410	AB=7cm,角B=36度,角C=122度,角A=22度	う
411	角C=60度,角B=60度	あ
412	BA=4cm,CA=4cm,BC=4cm	あ
413	角C=47度,角A=47度,角B=86度	い
414	角A=60度,角B=60度,角C=60度	あ
415	CB=11cm,AC=11cm	い
416	BC=17cm,CA=5cm	う
417	AC=14cm,CB=14cm,AB=3cm	い
418	角C=60度,角B=60度	あ
419	角A=60度,AC=18cm,角B=60度,BA=18cm,CB=18cm,角C=60度	あ
420	角A=166度	う
421	CB=6cm,BA=6cm,CA=6cm,角C=60度,角A=60度,角B=60度	あ
422	角B=124度,角C=28度	い
423	CB=17cm,角B=65度,角C=50度	い
424	角B=30度,BA=11cm,CA=11cm,角C=30度,角A=120度	い
425	CA=19cm,CB=19cm,BA=19cm,角C=60度	あ
426	AC=3cm,BC=15cm	う
427	角A=21度,角C=21度	い
428	角C=33度,角B=114度	い
429	角C=60度,角A=60度,AC=19cm	あ
430	BC=8cm,CA=8cm,AB=8cm,角A=60度,角C=60度	あ
431	CA=7cm,角A=90度,BA=7cm	い
432	角B=60度,角C=60度,角A=60度	あ
433	AC=18cm,BA=4cm,角B=30度	う
434	角C=114度,角A=33度,CA=5cm,角B=33度	い
435	角A=60度,角B=60度	あ
436	CB=15cm,CA=15cm	い
437	角C=60度,AB=19cm,角B=60度,角A=60度	あ
438	BA=1cm,CA=1cm,角A=108度,角B=36度	い
439	BC=12cm,角B=60度,角C=60度	あ
440	AB=14cm,角A=30度	う
441	角C=7度,角A=138度,CB=10cm	う
442	BA=16cm,AC=10cm,CB=9cm	う
443	BA=13cm,AC=5cm,角C=90度,BC=12cm	う
444	角C=60度,CB=8cm	あ
445	CA=7cm,BC=13cm,BA=8cm,角A=120度	う
446	AB=18cm,角A=66度,角C=57度,角B=57度	い
447	角B=18度,角C=18度,角A=144度	い
448	角B=78度,角A=24度,角C=78度,AC=15cm,BA=15cm	い
449	角A=60度,角C=60度,CA=4cm	あ
551	角A=60度,CB=14cm,AB=14cm	あ
552	角C=100度	う
553	BC=8cm,BA=18cm	う
554	角A=148度,角C=16度	い
555	CA=7cm,角B=60度,BC=7cm	い
556	BA=5cm,AC=5cm,CB=5cm	あ
557	AC=9cm,角A=41度,角C=41度,角B=98度	い
558	CB=14cm,BA=12cm,CA=6cm	う
559	角A=28度,BC=12cm,AC=12cm,角B=28度,角C=124度	い
560	CB=18cm	う
561	BC=20cm,角B=121度	う
562	CA=8cm,BA=8cm	い
563	BA=5cm,CA=15cm,角B=9度	う
564	BC=14cm,角C=60度,BA=14cm,CA=14cm,角B=60度,角A=60度	あ
565	AB=6cm,角A=30度,CB=19cm	う
566	CB=4cm,AB=1cm,CA=4cm	い
567	角B=60度,角C=60度,角A=60度	あ
568	AB=23cm,CB=17cm,CA=9cm	う
569	AB=2cm,角B=6度,角C=87度,角A=87度	い
570	角B=90度,BC=12cm,CA=13cm,AB=5cm	う
571	CB=18cm,角B=60度,角A=60度,角C=60度,AB=18cm	あ
572	AB=12cm,AC=12cm,角A=60度,角C=60度	あ
573	角B=80度,BA=2cm,角C=80度,CA=2cm	い
574	角C=60度,AB=5cm,角B=60度,AC=5cm	あ
575	CA=11cm,角C=92度,BC=11cm	い
576	角B=60度,角A=60度,角C=60度	あ
577	CB=7cm,角B=60度,AC=18cm	う
578	角A=33度	う
579	BC=17cm,CA=17cm,角C=60度,BA=17cm,角A=60度	あ
580	角B=60度,角A=60度	あ
581	CB=1cm,AB=1cm,AC=1cm	あ
582	CA=5cm,CB=5cm,BA=5cm,角A=60度	あ
583	角A=1度,角C=1度,角B=178度	い
584	AC=19cm,角A=60度,BA=19cm,CB=19cm	あ
585	角B=60度,CB=18cm,AC=18cm,角C=60度,角A=60度	あ
586	角A=60度,CA=5cm,AB=5cm	あ
587	角C=60度,角B=60度	あ
588	角C=60度,角B=60度,角A=60度	あ
589	角C=60度,AC=10cm,BA=10cm,角A=60度,角B=60度	あ
590	角A=174度,AC=8cm,角B=3度	い
591	AB=7cm,BC=23cm,CA=18cm	う
592	角B=95度	う
593	CB=16cm,AC=15cm,BA=2cm	う
594	角C=29度,BA=4cm	う
595	角A=58度,角C=61度	い
596	AB=13cm,BC=25cm,AC=17cm	う
597	AB=19cm,BC=11cm	う
598	BC=11cm	う
599	BA=13cm,CB=13cm	い
651	BC=18cm,角A=22度,BA=17cm	う
652	AB=19cm,角A=20度,角B=80度,角C=80度	い
653	角C=29度,角A=122度,BA=14cm	い
654	角A=161度,角C=7度,BC=4cm	う
655	角B=60度,角A=60度,角C=60度	あ
656	AC=1cm,角A=161度,角C=12度	う
657	BC=8cm,角B=72度,角A=54度	い
658	AC=4cm,AB=4cm,CB=4cm	あ
659	角A=18度,角C=144度,角B=18度,AC=17cm	い
660	CA=13cm,CB=13cm,BA=13cm	あ
661	BA=5cm,CB=3cm,AC=5cm	い
662	AC=8cm,角B=30度,BC=10cm	う
663	角B=40度,角C=100度,角A=40度	い
664	角C=60度,BA=3cm,CB=3cm,CA=3cm,角B=60度,角A=60度	あ
665	角B=50度,角C=80度,角A=50度	い
666	角A=60度,角B=60度	い
667	AC=17cm,角B=111度,角A=58度	う
668	角B=60度,角A=60度,角C=60度	あ
669	BA=1cm	う
670	AB=18cm,AC=18cm	い
671	CA=6cm,CB=19cm	う
672	AB=15cm,CA=15cm,角B=30度	い
673	角A=60度,角C=60度,角B=60度,CA=6cm	あ
674	角A=60度,BA=4cm,角B=60度,角C=60度	あ
675	角B=60度,BC=16cm,CA=19cm,AB=21cm	う
676	角B=45度,角C=126度	う
677	角C=15度,角B=43度,角A=122度	う
678	角A=110度,角C=35度	い
679	AC=18cm,AB=18cm,BC=18cm,角B=60度,角C=60度	あ
680	CB=24cm,角C=90度,BA=25cm,CA=7cm	う
681	角C=68度,角B=7度	う
682	角A=54度,角C=63度	い
683	BA=3cm,角C=16度,CA=3cm,角B=16度,角A=148度	い
684	CB=4cm,AB=4cm,CA=4cm	あ
685	角A=60度,角B=60度,AB=10cm,CB=10cm	あ
686	CB=17cm,AC=20cm,AB=8cm	う
687	角C=68度,角B=68度,CB=18cm	い
688	AC=16cm,AB=16cm	い
689	AB=13cm,角C=60度,CA=8cm,CB=15cm	う
690	角C=35度,AB=18cm,角B=35度,角A=110度,CA=18cm	い
691	角B=59度,角A=57度,CB=4cm,角C=64度	う
692	CB=6cm,AB=9cm,CA=14cm	う
693	角A=60度,CA=13cm,角B=60度	あ
694	角C=30度,AC=4cm,CB=4cm	い
695	BC=10cm,AB=15cm,AC=16cm	う
696	角C=42度,角B=96度,角A=42度	い
697	AB=13cm,角A=60度,BC=13cm,AC=13cm	あ
698	CA=5cm,BC=5cm,BA=5cm	あ
699	角B=162度	う
751	BA=7cm,角C=120度,CB=3cm,AC=5cm	う
752	BC=20cm,BA=20cm,角C=60度	あ
753	角B=71度,角A=38度	い
754	AC=2cm,AB=2cm,CB=2cm	あ
755	BC=18cm,AB=19cm	う
756	角B=12度,角C=12度	い
757	AB=18cm,CA=18cm,CB=21cm	い
758	角A=60度,角B=60度,角C=60度	あ
759	角B=30度,AB=14cm,BC=14cm	い
760	角A=60度,角B=60度,角C=60度	あ
761	CB=15cm,角A=87度,BA=15cm,角C=87度	い
762	CB=17cm,角B=60度,角A=60度,CA=17cm,角C=60度,BA=17cm	あ
763	角A=60度,角B=60度,BC=15cm,CA=15cm	あ
764	角A=60度,角C=60度	あ
765	角C=120度,CB=7cm,AC=8cm,AB=13cm	う
766	角C=33度,角A=114度,AB=11cm,角B=33度,CA=11cm	い
767	AB=14cm,角B=60度,角A=60度,CA=14cm,角C=60度	あ
768	角C=8度,角B=164度,角A=8度,CA=19cm	い
769	CB=8cm	う
770	角A=60度,CB=1cm,角B=60度,BA=1cm,CA=1cm	あ
771	AB=9cm	う
772	角C=120度,角A=12度,角B=48度	う
773	角A=60度,BC=9cm,AB=9cm,AC=9cm,角C=60度	あ
774	CA=4cm,AB=4cm	い
775	BA=12cm,CA=12cm	い
776	角B=9度,角C=156度	う
777	CA=4cm,角B=60度,BC=4cm	い
778	角C=60度,角A=60度	あ
779	BA=14cm,角A=46度,角C=88度	い
780	CA=8cm,CB=8cm,AB=8cm	あ
781	角A=30度,AC=16cm,BC=16cm	い
782	角A=60度,角B=60度,角C=60度	あ
783	角A=120度,角C=30度,角B=30度	い
784	BC=13cm,AC=15cm,BA=8cm,角A=60度	う
785	CA=18cm,角C=30度,AB=18cm,角B=30度	い
786	CA=18cm,BC=18cm,角B=49度,角A=49度,角C=82度	い
787	BA=3cm,BC=8cm,CA=7cm,角B=60度	う
788	角A=60度,BC=6cm,CA=13cm	う
789	角A=2度,CB=20cm,角B=176度,AB=20cm,角C=2度	い
790	角C=60度,角A=60度,角B=60度	あ
791	角B=148度,AB=17cm,角A=27度,角C=5度	う
792	BA=2cm,角C=30度	う
793	角C=60度,角B=60度	あ
794	角C=60度,BC=9cm,BA=9cm	あ
795	BC=5cm,CA=5cm,角A=88度	い
796	CB=15cm,AB=15cm,CA=15cm	あ
797	BC=12cm	う
798	角C=115度,CA=8cm,角A=17度	う
799	角B=78度,角C=24度,角A=78度	い
851	AB=7cm,AC=7cm,BC=7cm	あ
852	角B=67度,角A=46度,CA=18cm,AB=18cm,角C=67度	い
853	角B=60度,角A=60度,AC=7cm,角C=60度	あ
854	BC=8cm,CA=16cm,角A=77度	う
855	CA=16cm,CB=14cm,角A=60度,BA=10cm	う
856	AB=19cm,角C=60度,CB=21cm,CA=16cm	う
857	CA=14cm,AB=14cm,CB=5cm	い
858	角A=60度,BC=4cm,角B=60度,角C=60度	あ
859	AB=7cm,角C=60度,角B=60度,CA=7cm	あ
860	BA=3cm,CA=3cm,BC=3cm,角B=60度	あ
861	BC=19cm,CA=8cm,AB=26cm	う
862	CA=11cm,AB=13cm,BC=5cm	う
863	角B=60度,BA=13cm,角C=60度	あ
864	角B=30度,CB=8cm,CA=19cm	う
865	AB=2cm,角B=60度,CB=2cm,AC=2cm	あ
866	AC=4cm	う
867	角B=60度,角C=60度,角A=60度	あ
868	角C=116度,角B=32度,角A=32度	い
869	角C=60度,AC=15cm,CB=15cm	あ
870	CB=14cm,CA=4cm,BA=17cm	う
871	角C=20度,角B=20度	い
872	CB=19cm,角A=60度,AB=19cm,角C=60度,角B=60度	あ
873	角B=60度,角A=60度	あ
874	角B=18度,角C=153度	う
875	AB=6cm,AC=6cm,BC=8cm	い
876	CA=4cm,BA=4cm,角B=60度	あ
877	角C=60度,角B=60度,角A=60度	あ
878	CB=16cm,AC=16cm,AB=16cm	あ
879	AB=8cm,角A=15度,BC=1cm	う
880	CB=20cm,角C=101度,角A=54度,角B=25度	う
881	AC=3cm,AB=3cm,BC=3cm,角C=60度	あ
882	角C=20度,角B=36度,角A=124度	う
883	角A=60度,BC=1cm,角C=60度,BA=1cm,CA=1cm	あ
884	BC=7cm,角B=60度,BA=7cm,CA=7cm	あ
885	CB=14cm,AC=14cm,角A=30度	い
886	BA=4cm,CA=4cm,角B=30度	い
887	CA=9cm,BC=9cm,AB=9cm	あ
888	角C=34度,角B=46度,角A=100度	あ
889	角C=10度,角A=77度,CB=9cm	う
890	角A=30度	う
891	角B=74度,角A=74度,角C=32度	い
892	BA=18cm,AC=18cm,BC=18cm	あ
893	角A=46度,角C=110度	う
894	角C=85度,角A=85度	い
895	角C=60度,角B=60度	あ
896	AC=9cm,角A=60度,AB=9cm	あ
897	AC=8cm,AB=8cm,角C=60度,角A=60度	あ
898	角B=10度,角A=10度,角C=160度	い
899	AB=11cm,AC=11cm,CB=11cm	あ
951	角C=30度,BC=18cm,BA=18cm	い
952	CB=17cm,角A=84度,角B=48度	い
953	CB=7cm,CA=5cm,BA=7cm	い
954	角C=60度,BA=16cm,角A=60度,AC=16cm,角B=60度,BC=16cm	あ
955	CA=18cm,BA=18cm,角A=60度	あ
956	角B=87度,角C=79度	う
957	角C=33度,角B=33度,角A=114度	い
958	AB=9cm,AC=6cm,角C=60度	う
959	角B=60度,BA=6cm,BC=6cm,AC=6cm,角A=60度	あ
960	角B=60度,角C=60度,AC=9cm	あ
961	CA=2cm,角B=60度,角C=60度,角A=60度,BC=2cm	あ
962	AC=14cm,角B=30度	う
963	CA=10cm,AB=10cm	い
964	角C=4度,AB=1cm,角A=143度	う
965	角A=23度,角C=130度,角B=27度,BA=6cm	う
966	BC=19cm,角C=173度,CA=19cm	い
967	CB=11cm,BA=7cm,AC=5cm	う
968	AB=20cm,BC=20cm,AC=20cm,角B=60度	あ
969	BC=10cm,角B=30度,CA=10cm	い
970	角C=12度,角B=124度,角A=44度,CA=18cm	う
971	CB=16cm,BA=16cm,CA=24cm	い
972	角C=60度,BC=20cm,CA=20cm	あ
973	角A=60度,角C=60度	あ
974	角B=61度,角A=58度	い
975	角A=60度,AB=18cm,角B=60度,AC=18cm,角C=60度	あ
976	角B=60度,角A=60度	あ
977	BC=3cm,角C=30度,BA=16cm	う
978	角C=60度,BC=4cm,角B=60度,角A=60度	あ
979	BA=13cm,角C=25度,角B=19度	あ
980	角A=60度,角C=60度	あ
981	角B=60度,角C=60度,AB=11cm	あ
982	角C=60度,角B=60度,角A=60度	あ
983	BA=2cm,AC=3cm,CB=3cm	い
984	AC=20cm,AB=20cm,CB=20cm,角B=60度,角A=60度	あ
985	AC=1cm,角A=60度,角B=60度,CB=1cm	あ
986	CA=17cm,BC=15cm	う
987	角A=11度,AB=12cm,CB=12cm,角B=158度	い
988	角B=51度,角C=108度,角A=21度	う
989	CA=14cm,角C=60度,BA=14cm,CB=14cm	あ
990	BA=1cm,CA=1cm,角C=60度,角B=60度,角A=60度	あ
991	角A=60度,角C=60度	あ
992	角C=60度,CB=16cm,角A=60度	あ
993	角C=30度,AC=13cm,CB=13cm	い
994	AC=5cm,AB=5cm,角B=60度,角A=60度	あ
995	AC=17cm,角A=60度,BA=17cm,CB=17cm	あ
996	BA=5cm,角A=98度,角C=10度	う
997	BC=18cm,角A=60度,CA=18cm,角C=60度,BA=18cm	あ
998	角C=60度,AC=19cm,角A=73度,角B=47度	う
999	AB=15cm,角C=60度,CA=15cm	い
stdout
31
41
59
265
358
444
555
666
777
888
979
999