【Java】鉄則本_A05
読んでいる本
問題と提出した回答A05
import java.util.Scanner; public class A05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int counter = 0; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { int l = K-i-j; if (1 <= l && l <= N) { counter += 1; } } } System.out.println(counter); } }
公式の回答と同じ方法だった。
公式の回答:kyopro-tessoku/codes/java/chap01/answer_A05.java
for文を3回使って全探索する方法でも答えは出るが、時間が掛かり過ぎる。
3つの値の合計が分かっていて(K)、2つの値が分かっているなら、もう1つの値も分かるという考え方で、for文を2回に抑える。
この問題はAtCoderの「C - Otoshidama」
の類題だった。
TODO
- 他のA,B,C問題を解く
- 本の続きを読む
おわり。。