4 条题解
-
0
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=2200000,Mod=2181271; int Hash[MAXN]; struct P{ ll val; int next; }p[MAXN]; bool Count(int pos,ll x){ for(int i=Hash[pos]; i ;i = p[i].next) if(p[i].val == x) return 1; return 0; } int A,B,C; int main(){ ll a = 1; Hash[1] = p[1].val = 1; scanf("%d%d%d",&A,&B,&C); for(int i=1;i<=2000000;i++){ a=(a*A+a%B)%C; int pos=a%Mod; if(Count(pos,a)){ printf("%d\n",i); return 0; } p[i+1]={a,Hash[pos]}; Hash[pos]=i+1; } printf("-1\n"); return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; struct zzh{ char xm[100]; int xb; int n; int y; int r; }; zzh a[1000]; bool hzz(zzh f,zzh g) { if(f.n>g.n) { return 0; } if(f.n==g.n) { if(f.y>g.y) { return 0; } if(f.y==g.y) { if(f.r>g.r) { return 1; } } return 1; } return 1; } int main() { cout<<"请输入一共有多少人"<<endl; int n; cin>>n; cout<<"输入每个人的 姓名 出生年份 出生月份 出生日"<<endl; for(int i=1;i<=n;i++){ cout<<"第"<<i<<"个人:"; cin>>a[i].xm>>a[i].n>>a[i].y>>a[i].r; } sort(a+1,a+n+1,hzz); cout<<endl; for(int i=1;i<=n;i++) { cout<<"第"<<i<<"大的:"; cout<<a[i].xm<<" "<<a[i].n<<" "<<a[i].y<<" "<<a[i].r<<endl; } return 0; }
- 1
信息
- ID
- 7
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 394
- 已通过
- 191
- 上传者