poj 2769——Reduced ID Numbers
2014-06-21 02:02
351 查看
题意:给出一个数组,找出一个最小的整数使得数组中的所有元素模这个整数的得数各不相同。
思路:暴力
注意:如果用memset的话,数组不要开太大了,1000000的时候再用memset就被卡超时了。可以用一个数组保存更改了那些元素,然后再依次改回来。
错误:前面没有在每一组数据开始的时候对记录的数组进行初始化,导致了一直tle。后来改成memset,因为数组开大了导致tle。
代码如下:
用memset的方式:
思路:暴力
注意:如果用memset的话,数组不要开太大了,1000000的时候再用memset就被卡超时了。可以用一个数组保存更改了那些元素,然后再依次改回来。
错误:前面没有在每一组数据开始的时候对记录的数组进行初始化,导致了一直tle。后来改成memset,因为数组开大了导致tle。
代码如下:
#include<cstdio> #include<iostream> #include<set> #include<cstring> using namespace std; int s[1000]; bool have[100001]; int cnt[400]; int tot=0; int main(){ // freopen("data.txt","r",stdin); int n; scanf("%d",&n); while(n--){ for(int i=0;i<tot;++i){ have[cnt[i]]=0; } tot=0; int g; scanf("%d",&g); for(int i=0;i<g;++i){ scanf("%d",&s[i]); } int fin=0; int rec=1; while(!fin){ for(int i=0;i<tot;++i){ have[cnt[i]]=0; } tot=0; fin=1; for(int i=0;i<g;++i){ int tmp=s[i]%rec; if(have[tmp]){ fin=0;break; } have[tmp]=1; cnt[tot++]=tmp; } if(!fin)rec++; else break; } printf("%d\n",rec); } return 0; }
用memset的方式:
#include<cstdio> #include<cstring> int s[30500]; bool have[100001]; int i; int main(){ // freopen("data.txt","r",stdin); int n; scanf("%d",&n); while(n--){ int g; scanf("%d",&g); for(i=0;i<g;++i){ scanf("%d",&s[i]); } bool fin=1; int rec; for(rec=1;rec<1000005;rec++){ memset(have,0,sizeof(have)); fin=1; for(i=0;i<g;++i){ int tmp=s[i]%rec; if(have[tmp]){fin=0;break;} have[tmp]=1; } if(fin)break; } printf("%d\n",rec); } return 0; }
相关文章推荐
- POJ 2769 Reduced ID Numbers
- poj 2769 Reduced ID Numbers
- POJ 2769 Reduced ID Numbers (同余定理)
- POJ 2769 Reduced ID Numbers 解题报告
- poj 2769 Reduced ID Numbers
- poj 2769 Reduced ID Numbers
- poj 2769 Reduced ID Numbers
- POJ 2769 Reduced ID Numbers
- poj 2769 Reduced ID Numbers(memset使用技巧)
- poj 2769 Reduced ID Numbers(暴力)
- POJ 2769 Reduced ID Numbers (同余)
- 同余定理:poj2769 Reduced ID Numbers(标记数组)+hdu1021 Fibonacci Again(应用于递推公式)
- POJ 2769 Reduced ID Numbers
- POJ 2769 Reduced ID Numbers
- poj 2769 Reduced ID Numbers(memset使用技巧)
- POJ 2769 Reduced ID Numbers
- POJ2769 Reduced ID Numbers
- POJ 2769 Reduced ID Numbers 同余定理(暴力)
- Poj 2769 Reduced ID Numbers
- POJ2769 Reduced ID Numbers【同余定理】