博文
pku1218(2007-08-18 20:20:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int sum,n,i,j,k,T;
bool lock[101];
cin>>T;
while(T--)
{
while(cin>>n)
{
sum=0;
memset(lock,false,sizeof(lock));
for(i=1;i<=n;i++)
{
k=i;
for(j=2;k<=n;j++)
{
lock[k]=!lock[k];
k=i*j;
}
sum+=lock[i];
}
cout<<sum<<endl;
}
}
return 0;
}......
pku2696(2007-08-18 20:20:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int a[9],f[1000],n,i;
cin>>n;
while(n--)
{
for(i=0;i<9;i++)
cin>>a[i];
f[0]=a[0];f[1]=a[1];f[2]=a[2];
for(i=3;i<=a[8];i++)
{
if(i%2)
{
f[i]=(a[3]*f[i-1]+a[4]*f[i-2]-a[5]*f[i-3])%a[6];
if(f[i]<0)
f[i]+=a[6];
}
else
{
f[i]=(a[5]*f[i-1]-a[3]*f[i-2]+a[4]*f[i-3])%a[7];
if(f[i]<0)
f[i]+=a[7];
}
}
cout<<f[a[8]]<<endl;
}
return 0;
}
......
pku2608(2007-08-18 20:19:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int i,k,l;
char ch[21];
while(cin>>ch)
{
int a[26]={0,1,2,3,0,1,2,
0,0,2,2,4,5,5,
0,1,2,6,2,3,
0,1,0,2,0,2};
k=ch[0]-'A';
if(a[k])
cout<<a[k];
i=1;
while(ch[i]!='\0')
{
k=ch[i]-'A';
l=ch[i-1]-'A';
if(a[k]&&(a[k]!=a[l]))
{
cout<<a[k];
}
i++;
}
cout<<endl;
}
return 0;
}......
pku1579(2007-08-18 20:19:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int a,b,c,w[21][21][21],i,j,k,m;
for(i=0;i<21;i++)
for(j=0;j<21;j++)
for(k=0;k<21;k++)
{
if(i==0||j==0||k==0)
w[i][j][k]=1;
else if(i<j&&j<k)
w[i][j][k]=w[i][j][k-1]+w[i][j-1][k-1]-w[i][j-1][k];
else
w[i][j][k]=w[i-1][j][k]+w[i-1][j-1][k]+w[i-1][j][k-1]-w[i-1][j-1][k-1];
}
while(cin>>a>>b>>c)
{
if(a==-1&&b==-1&&c==-1)
break;
if(a<=0||b<=0||c<=0)
m=1;
else if(a>20||b>20||c>20)
m=w[20][20][20];
else m=w[a][b][c];
printf("w(%d, %d, %d) = %d\n",a,b,c,m);
}
return 0;
}......
pku2140(2007-08-18 20:18:00)
摘要:#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,k,i,sum;
while(cin>>n)
{
sum=0;
k=sqrt(2*n);
if(k*(k+1)/2<n)
k++;
for(i=1;i<=k;i++)
{
if((n-i*(i-1)/2)%i==0)
sum++;
}
cout<<sum<<endl;
}
return 0;
}......
pku2196(2007-08-18 20:17:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int duodecimal[]={1728,144,12,1},hexadecimal[]={4096,256,16,1},decimal[]={1000,100,10,1},
i,j,m10,m12,m16,n1,n2,n3;
for(i=2992;i<9999;i++)
{
m10=m12=m16=0;
n1=n2=n3=i;
for(j=0;j<4;j++)
{
m10+=n1/decimal[j];
m12+=n2/duodecimal[j];
m16+=n3/hexadecimal[j];
n1=n1%decimal[j];
n2=n2%duodecimal[j];
n3=n3%hexadecimal[j];
}
if(m10==m12&&m10==m16)
cout<<i<<endl;
}
return 0;
}......
pku2105(2007-08-18 20:16:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int IP[]={128,64,32,16,8,4,2,1};
int n,i,j,k,decIP[4];
char binIP[33];
cin>>n;
for(i=0;i<n;i++)
{
memset(decIP,0,sizeof(decIP));
cin>>binIP;
for(j=0;j<4;j++)
{
for(k=0;k<8;k++)
{
if(binIP[j*8+k]=='1')
decIP[j]+=IP[k];
}
if(j>0)
cout<<'.'<<decIP[j];
else
cout<<decIP[j];
}
cout<<endl;
}
return 0;
}......
pku2656(2007-08-18 20:15:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int n,s[7][2],i,k,m;
while(cin>>n)
{
if(n==0)
break;
m=0;
for(i=0;i<n;i++)
{
cin>>s[i][0]>>s[i][1];
if(m<(s[i][0]+s[i][1]))
{
m=s[i][0]+s[i][1];
k=i;
}
}
if(m>8)
cout<<k+1<<endl;
else
cout<<'0'<<endl;
}
return 0;
}......
pku2470(2007-08-18 20:14:00)
摘要:#include<iostream>
using namespace std;
#define max 100001
int main()
{
int n,data1[max],data2[max],i,flag;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(i=1;i<=n;i++)
{
scanf("%d",&data1[i]);
data2[data1[i]]=i;
}
flag=0;
for(i=1;i<=n;i++)
{
if(data1[i]!=data2[i])
{
flag=1;
break;
}
}
if(flag)
printf("not ambiguous\n");
else
printf("ambiguous\n");
}
return 0;
}......
pku2403(2007-08-18 20:14:00)
摘要:#include<iostream>
#include<cstring>
using namespace std;
#define max 1000
int main()
{
int n,m,i,j,sum,value[max];
char job[max][17],str[100];
while(cin>>n>>m)
{
for(i=0;i<n;i++)
{
cin>>job[i];
cin>>value[i];
}
for(i=0;i<m;i++)
{
sum=0;
while(cin>>str)
{
if(str[0]=='.')
break;
for(j=0;j<n;j++)
{
if(strcmp(str,job[j])==0)
sum+=value[j];
}
}
cout<<sum<<endl;
}
}
return 0;
}......