csuoj-1715-Positive Con Sequences
2016-03-27 20:10
375 查看
Description
![](http://acm.csu.edu.cn/OnlineJudge/upload/201603/dese%282%29.png)
Input
![](http://acm.csu.edu.cn/OnlineJudge/upload/201603/ine%281%29.png)
Output
![](http://acm.csu.edu.cn/OnlineJudge/upload/201603/oue%281%29.png)
Sample Input
1 2 -1 4 2 4 8 -1 7 8 -1 21 5 -1 11 14 -1 2 4 6 -1 -1 -1 -1
Sample Output
3 16 -1 8 -1
给你四个数,其中一个是-1,让你去算,当是等差或者等比的时候这个数列是否满足,如果满足,则输出-1那里本来应该有的数,否则输出-1.
就是暴力过去就好了,但是需要注意一点就是要考虑最后输出的范围啊!!![1,10000],我就是因为这个wa了两发。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int main() { int a,b,c,d; int val; int x1,x2,y1,y2; while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF) { y1=0;y2=0;x1=0;x2=0; bool flag=false; if(a==-1&&b==-1&&c==-1&&d==-1) break; if(a==-1) val=1; else if(b==-1) val=2; else if(c==-1) val=3; else if(d==-1) val=4; if(val==1) { x1=c-b; x2=d-c; if(x1==x2){ a=b-x1; if(a>0&&a<10001) flag=true; } if(flag){printf("%d\n",a); continue ;} else{ if(d%c==0) { y1=d/c; if(c%b==0) { y2=c/b; } else y2 = 0; if(y1==y2) { if(b%y1==0) { a=b/y1; if(a>0&&a<10001) flag=true; } } } } if(flag) printf("%d\n",a); else printf("-1\n"); } else if(val==2) { x1=c-a; x2=d-c; if(x1==2*x2){ b=c-x2; if(b>0&&b<10001) flag=true; } if(flag){printf("%d\n",b); continue ;} else{ if(d%c==0) { y1=d/c; if(c%a==0) { y2=c/a; } else y2 = 0; if(y1*y1==y2) { if(c%y1==0) { b=c/y1; if(b>0&&b<10001) flag=true; } } } } if(flag) printf("%d\n",b); else printf("-1\n"); } else if(val==3) { x1=b-a; x2=d-b; if(2*x1==x2){ c=d-x1; if(c>0&&c<10001) flag=true; } if(flag){printf("%d\n",c); continue ;} else{ if(b%a==0) { y1=b/a; if(d%b==0) { y2=d/b; } else y2 = 0; if(y1*y1==y2) { if(d%y1==0) { c=d/y1; if(c>0&&c<10001) flag=true; } } } } if(flag) printf("%d\n",c); else printf("-1\n"); } else if(val==4) { x1=b-a; x2=c-b; if(x1==x2){ d=c+x1; if(d>0&&d<10001) flag=true; } if(flag){printf("%d\n",d); continue ;} else{ if(b%a==0) { y1=b/a; if(c%b==0) { y2=c/b; } else y2 = 0; if(y1==y2) { d=c*y1; if(d>0&&d<10001) flag=true; } } } if(flag) printf("%d\n",d); else printf("-1\n"); } } return 0; }
相关文章推荐
- weblogic对jms实现的QueueConnection实现与TopicConnection实现问题
- Codeforces--618B--Guess the Permutation(规律)
- 63. Unique Paths II
- 整理easyui实现登录过程
- 物联网MQTT协议分析和开源Mosquitto部署验证
- 62. Unique Paths
- PAT1051. Pop Sequence (25)
- 物联网MQTT协议分析和开源Mosquitto部署验证
- codeforces 652E Pursuit For Artifacts 边双连通分量
- 登入界面UI
- iOS开发进阶之旅-自定义UICollectionViewFlowlayout
- 关于String,StringBuilder的总结
- 字符串转数字|continue|三元表达式|随机数产生|枚举|结构体
- HDU 3177 Crixalis's Equipment(很巧妙的贪心)
- UILable,UIButton字体加粗
- iOS开发-UISlider改变图片透明度
- Hibernate的Query接口和查询操作
- iOS开发学习笔记——表格4(UITableView)->自定义单元格(UITableViewCll)
- day10 response 和 request 案例练习
- Java多线程系列--“JUC集合”10之 ConcurrentLinkedQueue