CSU-1715 Positive Con Sequences(模拟分四种情况 )From湖南省多校对抗赛E题(2016.03.27)
来源:互联网 发布:2016网络作家排名 编辑:程序博客网 时间:2024/04/30 11:01
1715: Positive Con Sequences
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 378 Solved: 70
Description
Input
Output
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’的未知数,就相当与求x(’-1’),每一个案例有一组数列,判断它是否等比逻辑或等差逻辑,再输出结果。不过注意条件!!不要像俺WA了多次。一:数列为非递减;二:数的范围[1 - 10000],其实暴力排除结果为’-1’的情况比我的简单的多,速度也快。自己的思路没有打开,没想好就开始打代码了。
#include"iostream"#include"cmath"using namespace std;#define eps 1e-6/* Name: CSU-1715 求未知的"-1"数 Copyright: Author: Date: 10/04/16 18:21 Description: */int main(){ int i,j,a[5]; while(cin>>a[1]>>a[2]>>a[3]>>a[4]){ int sol; if(a[1]==-1 && a[2]==-1 && a[3]==-1 && a[4]==-1){ break; } if(a[1]==0 || a[2]==0 || a[3]==0 || a[4]==0){ cout<<-1<<endl; continue; } for(i=1; i<=4; i++){ if(a[i]==-1){ sol = i;//位置 } } if(sol==1){ //1 未知 a[0] = a[3]-a[2]; a[1] = a[2]-a[0]; if(a[1]+a[0] ==a[2] && a[1]+2*a[0]==a[3] && a[1]+3*a[0]==a[4] && a[1]<=10000 && a[1]>0){//差 cout<<a[1]<<endl; continue; } a[0] = a[3]/a[2]; a[1] = a[2]/a[0]; if(a[1]*a[0] ==a[2] && a[1]*a[0]*a[0]==a[3] && a[1]*a[0]*a[0]*a[0]==a[4] && a[1]<=10000 && a[1]>0){ //比 cout<<a[1]<<endl; continue; } cout<<-1<<endl; } if(sol==4){// 4未知 a[0] = a[3]-a[2]; a[4] = a[3]+a[0]; if(a[4]-a[0]==a[3] && a[4]-2*a[0]==a[2] && a[4]-3*a[0]==a[1] && a[4]<=10000 && a[4]>0 ){ //差 cout<<a[4]<<endl; continue; } a[0] = a[3]/a[2]; a[4] = a[3]*a[0]; if(a[4]/a[0] ==a[3] && a[4]/a[0]/a[0]==a[2] && a[4]/a[0]/a[0]/a[0]==a[1] && a[4]<=10000 && a[4]>0 ){//比 cout<<a[4]<<endl; continue; } cout<<-1<<endl; } if(sol==2){// 2 未知 a[0] = a[4]-a[3]; a[2] = a[1]+a[0]; if(a[2]+a[0] ==a[3] && a[2]+2*a[0]==a[4] && a[2]-a[0]==a[1] && a[2]<=10000 && a[2]>0){//差 cout<<a[2]<<endl; continue; } a[0] = a[4]/a[3]; a[2] = a[1]*a[0]; if(a[2]*a[0] == a[3] && a[2]*a[0]*a[0]==a[4] && a[2]/a[0]==a[1] && a[2]<=10000 && a[2]>0 ){//比 cout<<a[2]<<endl; continue; } cout<<-1<<endl; } if(sol==3){// 3 未知 a[0] = a[2]-a[1]; a[3] = a[2]+a[0]; if(a[3]-a[0]==a[2] && a[3]-2*a[0]==a[1] && a[3]+a[0]==a[4] && a[3]<=10000 && a[3]>0 ){//差 cout<<a[3]<<endl; continue; } a[0] = a[2]/a[1]; a[3] = a[2]*a[0]; if(a[3]*a[0] ==a[4] && a[3]/a[0]==a[2] && a[3]/a[0]/a[0]==a[1] && a[3]<=10000 && a[3]>0 ){//比 cout<<a[3]<<endl; continue; } cout<<-1<<endl; } } return 0;}
0 0
- CSU-1715 Positive Con Sequences(模拟分四种情况 )From湖南省多校对抗赛E题(2016.03.27)
- CSU-1716 Morse(模拟字典暴力查找)From湖南省多校对抗赛(2016.03.27)
- CSU 1715 Positive Con Sequences
- csuoj-1715-Positive Con Sequences
- Positive Con Sequences
- csu 1685: Entertainment Box【湖南省多校对抗赛3.6】multiset妙用
- 湖南省多校对抗赛(2016.03.13) JBlack Company
- 湖南省多校对抗赛 Morse
- 湖南省多校对抗赛 Refract Facts
- 湖南多校对抗赛(csu 1560)
- 湖南多校对抗赛(csu 1560)
- 湖南多校对抗赛(2015.4.6) E
- CSU 1663 2015湖南多校对抗赛06.22
- Wet Tiles CSU Contest2073 - 湖南多校对抗赛(2015.04.06) I
- 湖南多校对抗赛(2015.4.6)CSU 1561~1569 题解
- 2015湖南省赛 CSU 1783 :聊天止于呵呵(模拟)
- 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)E
- csu 1503 点到圆弧的距离(第十届湖南省省赛A题,几何)
- ZOJ 3862 Intersection【贪心】【几何】【模拟】
- 第七周项目3多文件组织程序
- delete析构的调用
- 4.11搭建网站的两个小问题
- iOS中RunLoop机制的探索
- CSU-1715 Positive Con Sequences(模拟分四种情况 )From湖南省多校对抗赛E题(2016.03.27)
- HDU 4109 Instrction Arrangement
- overfeat 测试
- JavaScript中数组和字符串的方法以及互相转换
- Warning C4819
- C++作业3
- windows/linux进程控制实验
- PSobj [2] 图片动漫处理 及 速写处理
- BitmapShader将图片转化为圆形图片