我是[一个狂写了60行代码而不知道怎么办的蒟蒻]。
我 深陷 30分的沼泽中而无法自拔 !!!
我更喜欢您对我的代码进行debug,
而不需要您辛辛苦苦重新编的代码。
| WA | AC | WA | AC |
| AC | WA | WA | WA |
| WA | TLE | TLE | 共30分 |
#include<bits/stdc++.h>
using namespace std;
struct date{
int date_num;
int year,month,day;
};
int flip(int i){
int a,b,c,d,e,f,g,h;
h=i%10;
g=i%100-h;
f=i%1000-g*10-h;
e=i%10000-f*1e2-g*10-h;
d=i%100000-e*1e3-f*1e2-g*10-h;
c=i%1000000-d*1e4-e*1e3-f*1e2-g*10-h;
b=i%10000000-c*1e5-d*1e4-e*1e3-f*1e2-g*10-h;
a=i%100000000-b*1e6-c*1e5-d*1e4-e*1e3-f*1e2-g*10-h;
return h*1e7+g*1e6+f*1e5+e*1e4+d*1e3+c*1e2+b*10+a;
}
bool is_run(int year){
if( year%4==0 && year%100!=0 ){
return true;
}else if(year%400==0){
return true;
}else{
return false;
}
}
bool right_date(int a){//半成品
int arr[12]{31,28,31,30,31,30,31,31,30,31,30,31};
date temp;
temp.date_num=a;
temp.day=temp.date_num%100;
temp.month=temp.date_num%10000-temp.day;
temp.year = temp.date_num - temp.day - temp.month*100;
if(temp.month>=1 && temp.month<=12){
if(temp.month==2 && is_run(temp.year)){
if(temp.day>=1&&temp.day<=29)return true;
}else{
if(temp.day>=1&&temp.day<=arr[temp.month])return true;
}
}
return false;
}
date began,ended,temp;
int cnt;
int main(){
cin>>began.date_num>>ended.date_num;
began.day=began.date_num%100;
began.month=began.date_num%10000-began.day;
began.year = began.date_num - began.day - began.month*100;
ended.day=ended.date_num%100;
ended.month=ended.date_num%10000-ended.day;
ended.year = ended.date_num - ended.day - ended.month*100;
for(int i=began.year;i<=ended.year;i++){
if(right_date(flip(i))){
cnt++;
}
}
cout<<cnt;
return 0;
}
衷心感谢您的回帖!
—— 一个狂写了60行代码而不知道怎么办的蒟蒻