#37857: c++ 求解(卡40%)


jason0713 ((ง⁼ω⁼)งꉂ(ˊᗜˋ*))

學校 : 不指定學校
編號 : 184210
來源 : [61.230.27.185]
最後登入時間 :
2023-12-26 20:02:53
g541. 類題:兔子跳躍(TOIP) -- TOI練習賽202110新手組 | From: [61.230.29.74] | 發表日期 : 2023-10-14 16:20

#include <iostream>
using namespace std;
int n,m,d,a;
inline int read(){
  int x=0;char ch=getchar();
  while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  return x;
}
bool check(){
for(int i=0;i<=a/n;i++){
if((a-(i*n))%m==0){
return true;
}
  }
  return false;
}
int main(){
  n=read();m=read();d=read();
  for(int i=0;i<d;i++){
  a=read();
  if(check()){
  puts("YES");
  }else{
  puts("NO");
  }
  }
}
 
#37860: Re: c++ 求解(卡40%)


proglohas@gmail.com (david)

學校 : 不指定學校
編號 : 221623
來源 : [1.168.31.66]
最後登入時間 :
2023-10-31 17:00:19
g541. 類題:兔子跳躍(TOIP) -- TOI練習賽202110新手組 | From: [122.117.95.179] | 發表日期 : 2023-10-14 17:04

用迴圈應該是會超時。

可以參考這篇

https://www.cnblogs.com/1621325877qq/p/10894859.html

當 ax + by = c ,  a 跟 b 都非負解時為 yes

 

 
ZeroJudge Forum