-
[BOJ] 10547 : STUDENTSKO
COCI 2014/2015 Contest #2 3번 10547 : STUDENTSKO 풀이 한 팀에 들어가야 하는 학생들에게 같은 그룹 넘버를 부여하자 그냥 부여하는 건 아니고 먼저 뽑혀야하는 팀부터 오름차순으로 부여하자 그리고 가장 긴 단조증가하는 수열의 길이를 구하자. 코드 #include <cstdio> #include <algorithm> using namespace std; int n, k, len, a[5005], lis[5005]; pair<int, int> p[5005]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++) scanf("%d", &a[i]), p[i].first = a[i]; sort(a, a +...
-
[BOJ] 10546 : 배부른 마라토너
COCI 2014/2015 Contest #2 2번 10546 : 배부른 마라토너 10546 : UTRKA 풀이 map 써도 되고 이렇게 짜도 된다 코드 #include <cstdio> int n, i; char a[22], s[22]; int main() { scanf("%d", &n); n *= 2; for (n--; n--;) { scanf("%s", s); for (i = 0; s[i]; i++) a[i] ^= s[i]; } printf("%s", a); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조,...
-
[BOJ] 10545 : 뚜기뚜기메뚜기
COCI 2014/2015 Contest #2 1번 10545 : 뚜기뚜기메뚜기 10545 : MOBITEL 풀이 으쌰으쌰 잘 짜보자. 코드 #include <cstdio> int m[11], t[33] = { 2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9 }; char s[111]; int main() { for (int i = 1, a; i <= 9; i++) scanf("%d", &a), m[a] = i; scanf("%s", s + 1); for (int i = 1, now, prv = -1; s[i]; i++) { now = t[s[i] - 'a']; if (prv == now) printf("#"); for (int j =...
-
[BOJ] 11509 : 풍선 맞추기
11509 : 풍선 맞추기 풀이 높이 a의 풍선을 볼 때, a+1 높이에서 날아오는 화살이 있는지 검사해주자! 코드 #include <iostream> using namespace std; int n, a, i, ans, cnt[1000001]; int main() { std::ios_base::sync_with_stdio(false); cin >> n; for (i = 0; i < n; i++) { cin >> a; if (!cnt[a+1]) cnt[a]++, ans++; else cnt[a+1]--, cnt[a]++; } cout << ans; return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge
-
[BOJ] 11508 : 2+1 세일
11508 : 2+1 세일 풀이 ㅎㅎ 코드 #include <stdio.h> #include <algorithm> int main() { int n, i, sum = 0, c[100001]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &c[i]), sum += c[i]; std::sort(c, c + n); for (i = n - 3; i >= 0; i -= 3) sum -= c[i]; for (i = 0; i < i % 3; i++) sum -= c[i]; printf("%d", sum); return 0; } 아무말 백준,...
-
[BOJ] 11507 : 카드셋트
11507 : 카드셋트 풀이 ㅎㅎ 코드 #include <stdio.h> int a, b, cnt[4]; bool chk[14][4]; int main() { for (char c; ~scanf("%c%1d%1d", &c, &a, &b);) { a = a * 10 + b; switch (c) { case 'P': c = 0; break; case 'K': c = 1; break; case 'H': c = 2; break; case 'T': c = 3; } if (chk[a][c]) { puts("GRESKA"); return 0; } chk[a][c] = 1, cnt[c]++; } for (int i =...