北大的online judge让我很受伤。。
在北大的online judge上做题目感觉很销魂的说~突然遇到一个问题怎么也通不过(不会做也就算了。。。)题号是1006我写了两个都是wrong answer...下面附上我的代码。随看题随写的可能结构上欠思考。希望各位大神帮我找找问题。
#include<iostream>
#include<vector>
using namespace std;
//---------------
vector<vector<int>>data;
int p;
void input();
void output(vector<int>&);
int main(){
input();
vector<int>answer;
for(int i=0;i<data.size();i++){
if(data[i][0]==-1) break;
for(int day=data[i][3]+1;day<=21252;day++){
if((day-data[i][0])%23==0 &&(day-data[i][1])%28==0 && (day-data[i][2])%33==0){
answer.push_back(day-data[i][3]);
break;
}
}
}
output(answer);
}
void input(){
int row,col;
for(row=0;;row++){
vector<int>data_line;
for(col=0;col<4;col++){
cin>>p;
data_line.push_back(p);
}
data.push_back(data_line);
if(p==-1) break;
}
}
void output(vector<int>&answer){
for(int i=0;i<answer.size();i++)
cout<<"Case "<<i+1<<": the next triple peak occurs in "<<answer[i]<<" days."<<endl;
}
ps.题目上的事例都能跑对的。。可是就是不知道为什么是wrong answer。。