#P1002. 代码至高无上
代码至高无上
题目背景
在遥远的“代码王国”中,编程被视为一种至高无上的艺术,而循环则是这种艺术中最为强大的元素之一。在这个王国里,所有的事物都是通过循环来完成的,从日出日落到四季更替,一切都遵循着循环的规律。
在代码王国中,有一个名叫艾文的年轻学者,他对循环的力量充满了好奇和渴望。艾文经过多年的学习,终于接触到了循环的奥秘,特别是for循环,这是王国中最常用的循环形式之一。然而,for循环的复杂性让艾文感到困惑,他不确定一个给定的for循环会执行多少次,有时甚至会陷入无尽的死循环。
艾文的导师,智慧的长者,给了他一个挑战:分析一个for循环,并确定它将输出多少次“代码至高无上”的声明。如果循环是无限的,那么输出应该是-1。
经常拿csp-j一等奖的小朋友都知道,for循环有以下两类
第一类如下:
for(int i=a;i<=b;i=i+c){
cout<<"代码至高无上"<<endl;
}
第二类如下:
for(int i=a;i>=b;i=i-c){
cout<<"代码至高无上"<<endl;
}
输入格式
一行共四个整数 ,,,。
当n为1,表示为上述的第一类循环,n为2时表示为上述第二类循环。a为循环的起点值,b为终值,c为步长
输出格式
输出一个整数,表示会输出多少次"代码至高无上",如果为死循环则输出-1。
样例输入 1
1 1 10 1
样例输出 1
10
样例解释 1
当 时,为第一类循环,起点为1,终点值为10,步长为1,会输出10次"代码至高无上"。
for(int i=1;i<=10;i=i+1){
cout<<"代码至高无上"<<endl;
}
样例输入 2
2 10 1 1
样例输出 2
10
样例解释 2
当 时,为第二类循环,起点为10,终点值为1,步长为1,会输出10次"代码至高无上"。
for(int i=10;i>=1;i=i-1){
cout<<"代码至高无上"<<endl;
}
样例输入 3
1 1 10 0
样例输出 3
-1
样例解释 3
当 时,为第一类循环,起点为1,终点值为10,步长为0,为死循环,所以输出-1
for(int i=1;i<=10;i=i+0){
cout<<"代码至高无上"<<endl;
}
数据范围
对于 的数据,保证循环次数不超过。
对于 的数据,, ,。