Problem Aミレニアム
http://www.psg.cs.titech.ac.jp/icpc/icpc2012/contest/A_ja.html
解法:(1年1月1日~1000年1月1日までの日にち) - (1年1月1日~実際の入力された日にち) = 解答
#include<iostream> #include<vector> using namespace std; int main() { int X; for (int i=1; i <= 999; i++) { for(int j=1;j <= 10;j++) { int day = 0; if(i % 3 == 0) { X += 200; break; }else { if(j % 2 == 0) { day = 19; }else { day = 20; } X += day; } } } X += 1; int n; while (cin >> n) { int Y,M,D; for (int K=0; K < n; K++) { cin >> Y >> M >> D; int sum = 0; for (int i=1; i <= Y-1; i++) { for(int j=1;j <= 10;j++) { int day = 0; if(i % 3 == 0) { sum += 200; break; }else { if(j % 2 == 0) { day = 19; }else { day = 20; } sum += day; } } } for(int j=1;j <= M-1;j++) { int day = 0; if(Y % 3 == 0) { sum += 20; }else { if(j % 2 == 0) { day = 19; }else { day = 20; } sum += day; } } sum += D; cout << X - sum << endl; } } }