题解 CF203A 【Two Problems】
Fractures
2019-04-05 20:26:01
## 给自己翻译的题目写题解的感觉真是奇妙呢
那么这道题就是一道暴力水题,直接一个一个搜索不用怕超时,~~毕竟数据太水了~~
#### 但是,弱弱的我还是一开始做错了(我好弱啊)
```cpp
#include<cstdio>
using namespace std;
int x,t,a,b,da,db;
int orz[10001],sto[100001];
int main(){
scanf("%d%d%d%d%d%d",&x,&t,&a,&b,&da,&db);
for(int i=0;i<t;i++){
orz[i]=a-da*i;
sto[i]=b-db*i;
}
for(int i=0;i<t;i++){
for(int j=0;j<t;j++){
if(orz[i]+sto[j]==x){
printf("YES");
return 0;
}
}
}
printf("NO");
return 0;
}
```
↑错误代码
##### 其实打眼一看没什么错误,但是忘了一个很重要的东西:没有考虑到他可以干脆不叫的零分
所以改了代码之后就是这个样:
```cpp
#include<cstdio>
using namespace std;
int x,t,a,b,da,db;
int orz[1000001],sto[100001];
int main(){
scanf("%d%d%d%d%d%d",&x,&t,&a,&b,&da,&db);
for(int i=0;i<t;i++){
orz[i]=a-da*i;
sto[i]=b-db*i;
}
orz[t]=0;
sto[t]=0;
for(int i=0;i<=t;i++){
for(int j=0;j<=t;j++){
if(orz[i]+sto[j]==x){
printf("YES\n");
return 0;
}
}
}
printf("NO\n");
return 0;
}
```
那么这道题就水过去啦2333