본문 바로가기

Solutions/Dlbo's Solution

PKU 3094. Quick sum. AC get~ #include #include using namespace std; int main() { string temp; int sum, i; while(getline(cin, temp)) { if (temp[0] == '#') { break; } sum = 0; i = 0; while(temp[i] != '\0') { if (temp[i] == ' ') { i++; continue; } sum += (i + 1) * (temp[i] - 'A' + 1); i++; } cout 더보기
PKU 2388. 누가 중간 녀석이냐? AC get~ #import int i=-1,buf[9999];int main(){while(cin>>buf[i++]);sort(buf,buf+i-1);cout 더보기
PKU 1804. 뇌인간(?) get AC~ #include #include using namespace std; int main() { int x, y, i, j, n, data, buf[1000], cnt; cin >> n; for (x = 1; x > data; cnt = 0; for (y = 0; y > buf[y]; } for (i = data - 2; i >= 0; i--) { for (j = 0; j buf[j + 1]) { cnt++; swap(buf[j], buf[j + 1]); } } } cout 더보기
PKU 2649. Factovisor. get AC -_- #include #include #define TRUE 1 #define FALSE 0 int m, n; int isPrime(int m) { int i; if(m 더보기
PKU 2649. Factovisors. TLE #include #include using namespace std; unsigned __int64 n; int GCD(int a, int b) { while (1) { if (a % b == 0 || b % a == 0) { break; } if (a > b) { a %= b; } else { b %= a; } } if (a % b == 0) { return b; } else { return a; } } bool isPrime(int a) { int i, limit; if (a n >> m) { if (....) { cout 더보기
PKU 1844. Sum. AC get!~ #include int main() { int i, j, sum = 0; scanf("%d", &i); for (j = 1; j = i) { if (!((sum - i) % 2)) { printf("%d\n", j); break; } } } return 0; } 흐음. 이번에도 쉬운 문제이지요? 1부터 N까지 숫자를 나열해 두고, 각 숫자마다 부호를 아무렇게나 둔 다음, 부호까지 붙인 수들을 합해서 S가 되게 만들되, 그 N중 최소를 출력하는 겁니다. 제 솔루션은 간단합니다. 1부터 N까지의 합을 그냥 구합니다. -_-; 이 때 1부터 N까지의 합이 S보다 크다면, S는 1부터 N까지의 숫자중 몇개를 뽑아서 만들 수 있.. 더보기
PKU 3685. Matrix. AC get! #include #include int main() { int n; __int64 N, M; __int64 min, max; __int64 x, j; __int64 sum; __int64 det, cal_1, cal_2; const __int64 w = 100000; scanf("%d", &n); while (n--) { scanf("%I64d%I64d", &N, &M); max = w * w * 10; min = -1 * max; while (min < max) { x = (min + max) / 2; if (x == max) { x--; } sum = 0; for (j = 1 ;(j = cal_1) { sum += (cal_2 - cal_1 + 1); } } if (sum < M) { min = x .. 더보기
PKU 2017, Speed Limit. AC get! #include int n,s,t1,t2,sum; int main() { while(scanf("%d",&n)) { if(n == -1) break; while(n--) { scanf("%d%d", &s, &t2); sum += s * (t2 - t1); t1 = t2; } printf("%d miles\n", sum); sum = 0; t1 = 0; } return 0; } 이번 문제도 좀 쉽나... 더보기
PKU 2027. No Brainer. AC get~-_- - 101Byte #define s(x) scanf("%d",&x) main(x,y,n){for(s(n);n--;s(x)&s(y)&puts(x 더보기
PKU 2027. No Brainer. AC get!~ 91Byte. main(x,y,n){for(scanf("%d",&n);n--;puts(x 더보기
PKU 2027. No Brainer. AC get! k;main(i,j){scanf("%d",&i);while(i--){scanf("%d%d",&j,&k);puts(j 더보기
UVa. 112, PKU 1145. Tree Summing. AC get! main() { int st[10000], len, i, sum, lev, cp, f; char temp; while (scanf("%d", &len) != -1) { lev = 0; sum = 0; f = 0; while (1) { while ((temp = getchar()) != '(') { if (temp == ')') { f++; if (f == 4) { if (sum == len) { cp = 1; } } sum -= st[lev--]; if (!lev) { goto a; } } } lev++; f++; if (scanf("%d", &i)) { st[lev] = i; sum += i; f = 0; continue; } else { st[lev] = 0; while (getchar() != ').. 더보기