처음 탑코더를 해보았다.. ㅎㅎ 생각보다 재밌다..
초반부터 삽질에 삽질을 거듭했지만..
같은방에있는 사람들도 다 비슷한 모양이다..;;
결국 3등..~ -_-;;
failed challenge가 하나 있었지만.. 시스템오류로인해 카운트되지않았다.. ;;
근데.. 다들 코드를 이상하게 짜던데.. challenge를 안받을려고하는 고도의 작전인가..;;
 

사용자 삽입 이미지

  
[250] ThrowTheBall


지금까지 공을 받은 횟수가 홀수이면 오른쪽, 짝수이면 왼쪽으로 공을 L칸만큼 패스..
그러다가 누군가 공을 M번 받으면 끝내고, 몇번 공을 패스했는지 찍어주는 문제..
그냥 simulation 했다..
 

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
 
class ThrowTheBall {
public:
 
int timesThrown(int N, int M, int L)
{
    int check[100];
    int cnt, cur;
 
    memset(check, 0, sizeof(check));
    check[0] = 1;
 
    if (M == 1)
        return 0;
    cnt = 0;
    cur = 0;
    while (1) {
        if (check[cur] & 1) {
            cur -= L;
            while (cur < 0)
                cur += N;
        }
        else {
            cur += L;
            cur %= N;
        }
        cnt++;
        check[cur]++;
        if (check[cur] == M)
            break;
    }
    return cnt;
}
 
};





 [500] MaximizeSquares

N개의 점이 있을때, 임의의 4개의 점을 선택해서 서로 다른 정사각형(단, 네변은 x축, y축과 평행)을 최대 몇개 만들 수 있는지 구하는 문제..
 
우선 모든 점들을 채워서 만들 수 있는 가장 큰 정사각형을 만든다.. 그리고나서 남은 점들을 한쪽 변에 나란히 붙인다.. 그리고 나서 정사각형의 개수를 센다.. -_-;
급한 마음에 막판에 코드가 이상해졌음..;;
 

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
 
class MaximizeSquares {
public:
int squareCount(int N) {
    int i;
    int n, cnt;
    int temp, temp2;
    if (N <= 3)
        return 0;
    n = (int)(sqrt((double)N)+0.0000001);
    cnt = 0;
    for (i = 1; i < n; i++) {
        cnt += i*i;
    }
 
    N -= n*n;
 
    temp = N / n;
    temp2 = N % n;
    if (temp == 1) {
        cnt += n * (n-1) / 2;
        cnt += temp2 * (temp2-1) / 2;
    }
    else if (temp == 2) {
        cnt += n * (n-1);
    }
    else {
        cnt += temp2 * (temp2-1) / 2;
    }
 
    return cnt;
}
 
};




 
[1000] SignificanceArithmetic

1000점짜리는.......
너무 길어서 안읽어봤다.. ㅠ_ㅠ



문제상의 문제로 이번 SRM은 rating에 영향을 주지 않았다..
덕분에 파란색에서 다시 not rated로 빽..~ -_-

'Problem Solving > TopCoder logs' 카테고리의 다른 글

TopCoder SRM 371 Div2 (완료)  (2) 2007.10.14
TopCoder SRM 370 Div2  (0) 2007.10.14
TopCoder SRM369 DIV2  (6) 2007.10.05
TopCoder SRM 368 Div 1  (0) 2007.10.03
TopCoder SRM 367 Div 2 (완료)  (10) 2007.09.27
TopCoder SRM 366 DIV 1  (2) 2007.09.18
TopCoder SRM 365 Div 1  (0) 2007.09.13
TopCoder SRM 364 Div 1  (0) 2007.09.09
TopCoder SRM 363 Div 2 (완료)  (0) 2007.08.12
탑코더(TopCoder) 시작하기..  (0) 2007.08.07

to Top