题目描述:
甲、乙二人同一天从北京出发到某地,甲每天固定行x公里,乙第一天行y公里,以后每天比前一天多行z公里,乙在出发第几天可以超过甲?若50天内不能超过,输出“NO”。
输入格式:
一行,三个整数分别表示x,y,z,三个整数间以空格隔开。
输出格式:
输出每一天甲与乙的总路程,具体格式参见样例输出,每部分间以一个空格隔开,NO两个字母为大写。
最后一行一个整数或“NO”,表示在这一天超越的路人甲,或不能超越。
样例输入:
样例1:
100 70 3
样例2:
1000 5 15
样例输出:
样例1:
NO.1 100 70
NO.2 200 143
NO.3 300 219
NO.4 400 298
NO.5 500 380
NO.6 600 465
NO.7 700 553
NO.8 800 644
NO.9 900 738
NO.10 1000 835
NO.11 1100 935
NO.12 1200 1038
NO.13 1300 1144
NO.14 1400 1253
NO.15 1500 1365
NO.16 1600 1480
NO.17 1700 1598
NO.18 1800 1719
NO.19 1900 1843
NO.20 2000 1970
NO.21 2100 2100
NO.22 2200 2233
22
样例2:
NO.1 1000 5
NO.2 2000 25
NO.3 3000 60
NO.4 4000 110
NO.5 5000 175
NO.6 6000 255
NO.7 7000 350
NO.8 8000 460
NO.9 9000 585
NO.10 10000 725
NO.11 11000 880
NO.12 12000 1050
NO.13 13000 1235
NO.14 14000 1435
NO.15 15000 1650
NO.16 16000 1880
NO.17 17000 2125
NO.18 18000 2385
NO.19 19000 2660
NO.20 20000 2950
NO.21 21000 3255
NO.22 22000 3575
NO.23 23000 3910
NO.24 24000 4260
NO.25 25000 4625
NO.26 26000 5005
NO.27 27000 5400
NO.28 28000 5810
NO.29 29000 6235
NO.30 30000 6675
NO.31 31000 7130
NO.32 32000 7600
NO.33 33000 8085
NO.34 34000 8585
NO.35 35000 9100
NO.36 36000 9630
NO.37 37000 10175
NO.38 38000 10735
NO.39 39000 11310
NO.40 40000 11900
NO.41 41000 12505
NO.42 42000 13125
NO.43 43000 13760
NO.44 44000 14410
NO.45 45000 15075
NO.46 46000 15755
NO.47 47000 16450
NO.48 48000 17160
NO.49 49000 17885
NO.50 50000 18625
NO
时间限制: 1000ms 空间限制: 128MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c,s=0,s1=0,x=1;
cin>>a>>b>>c;
s=a;
s1=b;
if(s1>s){
cout<<"NO.1 "<<s<<" "<<s1;
return 0;
}
cout<<"NO.1 "<<s<<" "<<s1<<endl;
for(int i=2;i<=50;i++){
s=s+a;
s1=s1+b+c*(i-1);
if(s1>s){
cout<<"NO."<<i<<" "<<s<<" "<<s1<<endl<<i;
return 0;
}
cout<<"NO."<<i<<" "<<s<<" "<<s1<<endl;
}
cout<<"NO";
return 0;
}
|