博文
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;
}......
pku3219(2007-08-18 20:13:00)
摘要:#include <stdio.h>
int F(int n)
{ //n! = 2^k * k! * a
//k = n / 2, a不含因子2
int sum = 0;
while(n >= 2)
{
sum += n / 2;
n /= 2;
}
return sum;
}
int main(void)
{
int n, k;
while(EOF != scanf("%d%d", &n, &k))
{
if(F(n) > F(n - k) + F(k))
printf("0\n");
else
printf("1\n");
}
return 0;
}......
pku2242(2007-08-18 20:12:00)
摘要:#include<iostream>
#include<cmath>
using namespace std;
#define pi 3.141592653589793
int main()
{
double x1,y1,x2,y2,x3,y3,a,b,c,l,s,r,L;
while(cin>>x1>>y1>>x2>>y2>>x3>>y3)
{
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
l=(a+b+c)/2;
s=sqrt(l*(l-a)*(l-b)*(l-c));
r=(a*b*c)/(4*s);
L=2*pi*r;
printf("%.2f\n",L);
}
return 0;
}......
pku2027(2007-08-18 20:11:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int n,x,y;
cin>>n;
while(n>0)
{
n--;
cin>>x>>y;
if(x>=y)
cout<<"MMM BRAINS\n";
else
cout<<"NO BRAINS\n";
}
return 0;
}......
pku2017(2007-08-18 20:11:00)
摘要:#include<iostream>
using namespace std;
int main()
{
int n,s,t,t0,i,sum;
while(cin>>n)
{
if(n==-1)
break;
sum=0;
t0=0;
for(i=0;i<n;i++)
{
cin>>s>>t;
sum+=s*(t-t0);
t0=t;
}
cout<<sum<<" miles\n";
}
return 0;
}......
pku1731(2007-08-18 20:10:00)
摘要:#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
sort(s.begin(),s.end());
cout<<s<<endl;
while(next_permutation(s.begin(),s.end())) {
cout<<s<<endl;
}
}
return 0;
}
......
pku1844(2007-08-17 23:39:00)
摘要:#include<stdio.h>
#include<math.h>
int main()
{
int n,i,sum;
while(scanf("%d",&n)!=EOF)
{
i=(sqrt(1+8*n)-1)/2;
sum=(i+1)*i/2;
while(sum<n) sum+=++i;
if((sum-n)%2==0) printf("%d\n",i);
else printf("%d\n",i&1?i+2:i+1);
}
return 0;
}
或者:#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int s,n,t;
while(cin>>s)
{
n=sqrt(s*2);
t=(n+1)*n/2;
if(t<s)
{
n++;
t+=n;
}
if((t-s)%2==0)
{
cout<<n<<endl;
}
else
{
if(n%2==0)
cout<<n+1<<endl;
else
cout<<n+2<<endl;
}
}
return 0;
}......