티스토리 뷰
이번
이번 대회는 A, B 2문제를 해결함으로써
1500 -> 1431(-69) 레이팅으로 마무리했다.
이번 라운드는 A문제가 조금 특이했다(보통 대회에 안 나오는 문제였다).
간단하다. 그냥 문자열 덱을 구현하는 문제였다.
앞에 push할지, 뒤에 push할지 알려주고 문자열을 받아서 deque에 넣는 문제였다.
나는 stl deque를 사용하여 풀었다.
8분이나 걸려서 푼게 조금 아쉬웠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream> #include <deque> using namespace std; deque<char>d; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { int a; char s; cin >> a; cin >> s; if (a == 1)d.push_back(s); else d.push_front(s); } for (int i = 0; i < n; i++) { cout << d.front(); d.pop_front(); } return 0; } | ac |
이 문제도 간단한 문제였다. N*N 크기의 배열 A가 주어지고, A를 위로 또는 옆으로 뒤집은 배열 B가 주어진다.
이때, B가 올바르면 1, 올바르지 않으면 0을 출력하는 간단한 문제였다.
나는 a[i][j]가 b[(n-1)-i][j]와 같으면 위로 뒤집은것으로, a[i][j]가 b[i][(n-1)-j]와 같으면 옆으로 뒤집은 것으로 처리하여 문제를 해결하였다.
이 문제도 푸는데 조금 오래 걸렸다(32분).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <iostream> using namespace std; int a[101][101]; int b[101][101]; int cmp = 1; int com = 1; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> a[i][j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin>>b[i][j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] == b[(n - 1) - i][j] && cmp)cmp = 1; else cmp = 0; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] == b[i][(n-1)-j] && com)com = 1; else com = 0; } } if (com || cmp)cout << 1; else cout << 0; return 0; } | ac |
CONTENT & DESIGN BY DEV++
'코딩 > 대회' 카테고리의 다른 글
[대회] Codeforces Round #426 Div. 2 (2) | 2017.08.28 |
---|