hdu-2104
来源:互联网 发布:网络连不上说是防火墙 编辑:程序博客网 时间:2024/06/03 19:36
题目方法:出现第一个重复点一定会是你自己的位置(题目例子说的起点A),因为想到任何一个走过的点就必须先到你走过的点的前一个点,所以第一个出现重复的一定是起点(题目例子说的起点A),因为每个点都要走一次,所以总共要走n次m,并且在第n次走到第一个点,那么在第n次之前不存在一个i使得(m*i)% n = 0 .(i为第i个走到的点是起点)
超时做法(没有ac)
#include<iostream>#include<cstdio>using namespace std;int main(){int a,b,i;while(scanf("%d%d",&a,&b)){if(a==-1 && b==-1)break;for(i=1;i<=a;++i)if((b*i)%a==0){if(i==a)printf("YES\n");elseprintf("POOR Haha\n");break;}}return 0;}
不会超时的做法(ac代码):(m*i)% n = 0,考察这个式子,也就是n,m互质,所以用辗转相除去解
#include<iostream>#include<cstdio>using namespace std;int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}int main(){ int a,b; while(scanf("%d%d",&a,&b)) { if(a==-1 && b==-1) break; if(gcd(a,b)==1) printf("YES\n"); else printf("POOR Haha\n"); } return 0;}
- hdu 2104
- hdu-2104
- hdu 2104
- Hdu 2104
- HDU 2104
- HDU 2104 hide handkerchief
- hdu 2104 hide handkerchief
- HDU 2104 hide handkerchief
- HDU 2104数论 欧几里得
- hdu 2104(藏手帕)
- hdu 2104 hide handkerchief
- HDU 2104 hide handkerchief
- hdu 2104 hide handkerchief
- HDU 2104 GCD
- Hdu 2104 hide handkerchief
- HDU 2104 hide handkerchief
- hdu 2104 hide handkerchief
- hide handkerchief HDU - 2104
- hdu-1230
- hdu-3783
- hdu-1219
- hdu-3079
- hdu-2317
- hdu-2104
- 经典编译错误收集
- hdu第11页题目大全
- 随机数
- hdu-2106
- hdu-1038
- hdu-3177
- hdu-1718
- hdu-1716