문제 : https://codeforces.com/contest/1593/problem/A
입력으로 들어온 a,b,c 중 max값을 구한다. 이 때 다음과 같이 나눠서 확인해볼 수 있다.
1. 현재 확인하는 값(a,b,c 중 하나)이 max값과 같고, max값과 동일한 후보자가 2명 이상인 경우 = 1
2. 현재 확인하는 값(a,b,c 중 하나)이 max값과 같고, max값과 동일한 후보자가 1명인 경우 = 0
3. 현재 확인하는 값이 max값보다 작은 경우 = max - 현재확인중인값 + 1
코드 : github
import java.io.DataInputStream;
import java.io.IOException;
public class Main {
private static int res(int max, int cnt, int cur) {
if (max == cur && cnt > 1)
return 1;
if (max == cur)
return 0;
return max-cur+1;
}
private static void solution() throws Exception {
int t = nextInt();
StringBuilder sb = new StringBuilder();
while (t-->0) {
int a = nextInt();
int b = nextInt();
int c = nextInt();
int max = Math.max(a, Math.max(b, c));
int cnt = 0;
if (a==max) cnt++;
if (b==max) cnt++;
if (c==max) cnt++;
sb.append(res(max,cnt,a)).append(' ').append(res(max,cnt,b)).append(' ').append(res(max,cnt,c)).append('\n');
}
System.out.println(sb);
}
public static void main(String[] args) throws Exception {
initFI();
solution();
}
private static final int DEFAULT_BUFFER_SIZE = 1 << 16;
private static final int MAX_CHAR_LEN_FOR_NEXT_LINE = 64;
private static DataInputStream inputStream;
private static byte[] buffer;
private static int curIdx, maxIdx;
private static void initFI() {
inputStream = new DataInputStream(System.in);
buffer = new byte[DEFAULT_BUFFER_SIZE];
curIdx = maxIdx = 0;
}
private static int nextInt() throws IOException {
int ret = 0;
byte c = read();
while (c <= ' ') c = read();
boolean neg = (c == '-');
if (neg) c = read();
do {
ret = ret * 10 + c - '0';
} while ((c = read()) >= '0' && c <= '9');
if (neg) return -ret;
return ret;
}
private static byte read() throws IOException {
if (curIdx == maxIdx) {
maxIdx = inputStream.read(buffer, curIdx = 0, DEFAULT_BUFFER_SIZE);
if (maxIdx == -1) buffer[0] = -1;
}
return buffer[curIdx++];
}
}
'PS > CodeForces' 카테고리의 다른 글
CodeForces 1614B - Divan and a New Project (Java) (0) | 2021.11.27 |
---|---|
CodeForces 1569B - Chess Tournament (Java) (0) | 2021.11.27 |
CodeForces 1569A - Balanced Substring (Java) (0) | 2021.11.27 |
CodeForces 1567A - Domino Disaster (Java) (0) | 2021.11.27 |
CodeForces 4A - Watermelon (Java) (0) | 2021.11.27 |
댓글