Link
Today
Total
12-23 08:10
Archives
관리 메뉴

초보개발자 긍.응.성

[Java] 8771. 덧셈 문제 본문

코딩테스트/SW Expert Academy

[Java] 8771. 덧셈 문제

긍.응.성 2020. 3. 20. 13:24
반응형

D4-8771. 덧셈 문제

 

문제출저: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW3R9ga6F9wDFATy&categoryId=AW3R9ga6F9wDFATy&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

N이 2보다 클때

최소값 A*(N-1) + B, 최대값 A + B*(N-1) 사이의 수를 모두 만들 수 있다.

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

class Solution {
	
	public static void main(String args[]) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int T = Integer.parseInt(br.readLine());
		
		for (int test_case = 1; test_case <= T; test_case++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			int N = Integer.parseInt(st.nextToken());
			long A = Integer.parseInt(st.nextToken());
			long B = Integer.parseInt(st.nextToken());
			
			if (A == B) {
				bw.write("#" + test_case + " 1\n");
			} else if (A > B || N == 1) {
				bw.write("#" + test_case + " 0\n");
			} else if (N == 2) {
				bw.write("#" + test_case + " 2\n");
			} else {
				long count = (N - 2) * (B - A) + 1;
				bw.write("#" + test_case + " " + count + "\n");
			}
		}
		br.close();
		bw.flush();
		bw.close();
	}
}
반응형
Comments