Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
最愚蠢的方法。。。。。要注意求出之后要减去21252刚开始没有减去那个最大周期,导致一直WA,不过好像测试了很多数据都没有发现异常,贴上代码 #include<stdio.h> #define PC 23 #define EC 28 #define IC 33 #define circle 21252 int triple(int p,int e,int i) { while(p!=e||p!=i||e!=i) { if(p<=e&&p<=i) p+=PC; else if(e<=p&&e<=i) e+=EC; else if(i<=p&&i<=e) i+=IC; } if(p>circle) p-=circle; return p; } int main() { int p,e,i,d; int num=0; int trip; while(scanf("%d%d%d%d",&p,&e,&i,&d)!=EOF) { if(p==-1&&e==-1&&i==-1&&d==-1) break; if(p==d&&e==d&&i==d) printf("Case %d: the next triple peak occurs in %d days.\n",++num,circle); else { trip=triple(p,e,i); if(trip==d) printf("Case %d: the next triple peak occurs in %d days.\n",++num,circle); else if(trip<d) printf("Case %d: the next triple peak occurs in %d days.\n",++num,circle+trip-d); else printf("Case %d: the next triple peak occurs in %d days.\n",++num,trip-d); } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator