您的位置:首页 > 其它

训练计划,水题

2013-06-17 21:02 344 查看
http://poj.org/problem?id=2017

#include <iostream>

using namespace std;

int main()
{
ios::sync_with_stdio(false);
int n;
while(cin>>n && n != -1)
{
int s, t;
int sum = 0;
cin>>s>>t;
n--;
sum += s * t;
while(n--)
{
int t2;
cin>>s>>t2;
sum += (t2-t) * s;
t = t2;
}
cout << sum << " miles" <<endl;
}
}

http://poj.org/problem?id=1218

#include <stdio.h>

using namespace std;

int main()
{
int n,m,i,j,x=0,k=0,str[1024];
scanf("%d",&n);
for(i=1; i<=n; i++)
{
k=0;
scanf("%d",&m);
for(int t=1; t<=m; t++)
{
x=0;
for(j=1; j<=t; j++)
{
if(t%j==0)
{
x++;
}
}
if((x%2)!=0)
{
k++;
}
}
str[i]=k;
}
for(i=1; i<=n; i++)
{
printf("%d\n",str[i]);
}
}

h ttp://poj.org/problem?id=2000

#include <stdio.h>

using namespace std;

int main()
{
int n;
while(~(scanf("%d", &n)))
{
if(n == 0)break;
else
{
int sum=0;
int i;
for(i=1;i<=150;i++)
{
sum+=i*i;
if(((i+1)*i)/2 >= n)
break;
}
sum=sum-(((i+1)*i)/2-n)*i;
printf("%d %d\n", n, sum);
}
}
}


http://poj.org/problem?id=1046

#include<stdio.h>
#include<math.h>

int main()
{
int a[26],b[26],c[26],d,i,x,y,m,z,min;
for(i=1; i<=16; i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
}
while(scanf("%d%d%d",&x,&y,&z)!=EOF)
{
if(x==-1 && y==-1 && z==-1)
break;
min=1<<30;
for(i=1; i<=16; i++)
{
d=(int)((a[i]-x)*(a[i]-x)+(b[i]-y)*(b[i]-y)+(c[i]-z)*(c[i]-z));
if(d<min)
{
m=i;
min=d;
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,a[m],b[m],c[m]);
}
}

http://poj.org/problem?id=1003

#include <stdio.h>

int main()
{
double sr,count;
int js,i;
while(scanf("%lf",&sr)!=EOF)
{
js=1;
count=0;
if(sr==0.00)
{
break;
}
for(i=2;i<300;i++)
{
if(sr>(count+1.0/i))
{
count=count+(1.0/i);
js++;
}
else
{
break;
}
}

printf("%d card(s)\n",js);
}
}

http://poj.org/problem?id=1004

#include<cstdio>
#include<cstring>

int main()
{
double m;
while(scanf("%lf",&m)!=EOF)
{
double ans=m;
for(int i=1;i<12;i++)
{
scanf("%lf",&m);
ans+=m;
}
printf("$%.2lf\n",ans/12);
}
}

http://poj.org/problem?id=1005

#include<cstdio>
#include<cstring>

int main()
{
int T,cas=1;
scanf("%d",&T);
while(T--)
{
double ita,itb;
scanf("%lf%lf",&ita,&itb);
double s=(ita*ita+itb*itb)*3.14/2;
int ans=(int)(s/50)+1;
printf("Property %d: This property will begin eroding in year %d.\n",cas++,ans);
}
printf("END OF OUTPUT.\n");
}


http://poj.org/problem?id=1008

#include <stdio.h>
#include <string.h>

int main()
{
char str1[19][7]= { "pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet" };
char str2[20][9]= { "imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau" };
int day, year, days, mon, i, t;
char month[9];
scanf("%d", &t);
printf("%d\n", t);
while (t--)
{
scanf("%d. %s %d", &day, month, &year);
for (i= 0; i < 19; i++)
{
if ( !strcmp(month, str1[i]) )
{
break;
}
}
days= year*365 + i*20 + day;
year= days/260;
mon= (days%260)%20;
day= (days%260)%13;
printf("%d %s %d\n", day+1, str2[mon], year);
}
}

http://poj.org/problem?id=1013

#include<stdio.h>
#include<math.h>
#include<string.h>

char str1[10],str2[10],str3[10];
int mark[15],num[15];

int main()
{
int cas,v,i,j,max;
scanf("%d",&cas);
while(cas--)
{
v=3;
for(i=0; i<12; i++)
{
mark[i]=num[i]=0;
}
while(v--)
{
scanf("%s%s%s",str1,str2,str3);
if(!strcmp(str3,"even"))
{
for(i=0; i<strlen(str1); i++)
{
mark[str1[i]-'A']=mark[str2[i]-'A']=1;
}
}
else if(!strcmp(str3,"up"))
{
for(i=0; i<strlen(str1); i++)
{
num[str1[i]-'A']++;
num[str2[i]-'A']--;
}
}
else
{
for(i=0; i<strlen(str1); i++)
{
num[str1[i]-'A']--;
num[str2[i]-'A']++;
}
}
}
max=-1;
j=0;
for(i=0; i<12; i++)
{
if(!mark[i] && max<abs(num[i]))
{
max=abs(num[i]);
j=i;
}
}
if(num[j]<0)
{
printf("%c is the counterfeit coin and it is light.\n",j+'A');
}
else
{
printf("%c is the counterfeit coin and it is heavy.\n",j+'A');
}
}
}

http://poj.org/problem?id=1207

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,m,n,k,max;
int p,q;
while(scanf("%d%d",&p,&q)==2)
{
max=0;
i=p;
j=q;
if(p>q)
{
j=p;
i=q;
}
for(m=i; m<=j; m++)
{
k=m;
n=1;
while(k!=1)
{
if(k%2)
k=3*k+1;
else k=k/2;
n++;
}
if(n>max) max=n;
}
printf("%d %d %d\n",p,q,max);
}
}

http://poj.org/problem?id=1552

#include <stdio.h>

int main()
{
int array[1005];
int i,j,k;
int n;
while(1)
{
scanf("%d",&array[1]);
if(array[1] == -1) break;
for(n = 2; ; n++)
{
scanf("%d",&array
);
if(array
== 0) break;
}
int ans = 0;
for(i = 1; i < n; i++)
{
for(j = 1; j < n; j++)
if(array[j]*2 == array[i])
{
ans++;
break;
}
}
printf("%d\n",ans);
}
}

http://poj.org/problem?id=2105 裸位运算

#include <stdio.h>
#include <string.h>

using namespace std;

int main()
{
char buff[20000];
int temp[5];
int n;
unsigned ip;
scanf("%d",&n);
while (n--)
{
ip=0;
scanf("%s",buff);
for (int i=0; i<32; ++i)
{
(ip<<=1)|=(buff[i]-'0');
}
for (int i=1; i<=4; ++i)
{
temp[i] = ip & ((1 << 8) - 1);
ip >>= 8;
}
for (int i=4; i>=1; --i)
{
printf(i==1?"%d\n":"%d.",temp[i]);
}
}
}

http://poj.org/problem?id=2388

#include<stdio.h>
#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
int a[10010];
int i,n;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
printf("%d\n",a[(n-1)/2]);
}

http://poj.org/problem?id=1316

#include<stdio.h>

int main()
{
int a[10001]= {0};
int i, b, c;
for(i=0; i<10001; i++)
{
b=i;
c=i;
while (b)
{
c+=b%10;
b/=10;
}
if(c<=10000)
{
a[c]=1;
}
}
for(i=0; i<10001; i++)
{
if(a[i]!=1)
{
printf("%d\n",i);
}
}
}

http://poj.org/problem?id=3006

#include <stdio.h>
#include <math.h>

int prime(int x)
{
int i, j;
j = sqrt(x);
if (x < 2)
{
return 0;
}
else if (x == 2)
{
return 1;
}
for (i = 2; i <= j; i++)
{
if (x % i == 0)
{
return 0;
}
}
return 1;
}

int main()
{
int a, d, n, m, i, count;
while (scanf("%d %d %d", &a, &d, &n) != EOF)
{
if (a == 0 && d == 0 && n == 0)
{
break;
}
count = 0;
for (i = 0; count != n; i++)
{
m = a + i * d;
if (prime(m))
{
count++;
}
}
printf("%d\n", m);
}
}


水题没意思,换C语言风格为C语言期末考试,别忘了scanf和printf的用法。

自今天起到期末(7.11)止,不再开电脑,不再敲代码。目标:高数95+,线代95+,C语言90+,英语85+,大物85+。再开电脑就剁手!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: