happystone

niuniu

2010年8月9日 #

pku 2231

#include<iostream>
using namespace std;
#define N 10001
int c[N];
int zuocha(int a,int b)
{
    
if(a==b)
    
return 0;
    
else
    
return a-b>0?a-b:b-a;
    }

int main()
{
    
    
int n,i,j,sum;
    
while(cin>>n)
    
{
                 sum
=0;
                 
for(i=0;i<n;i++)
                 cin
>>c[i];
              
for(i=0;i<n;i++)
              
{
      
for(j=0;j<n;j++)
      sum
=sum+zuocha(c[i],c[j]);
     }

     cout
<<sum<<endl;
 }

return 0;
}

posted @ 2010-08-09 22:24 玉中石 阅读(93) | 评论 (0)编辑 收藏

hdu 2147

 1#include<iostream>
 2using namespace std;
 3int main()
 4{
 5int a,b;
 6while(cin>>a>>b)
 7{
 8if((a==0)&&(b==0))
 9break;
10if(a<b)
11swap(a,b);
12if((a+b-2)%2==0&&(b-1)%2==0)
13cout<<"What a pity!"<<endl;
14else
15cout<<"Wonderful!"<<endl;
16}

17return 0;
18}

posted @ 2010-08-09 22:21 玉中石 阅读(99) | 评论 (0)编辑 收藏

pku 2524

 1#include<iostream>
 2using namespace std;
 3#define N 50000
 4int parent[N],rank[N],h[N];
 5int init(int x)
 6{
 7 parent[x]=x;
 8 rank[x]=0;
 9 return 0;
10}

11int find(int i)
12{
13 if(parent[i]!=i)
14  parent[i]=find(parent[i]);
15 return parent[i];
16}

17int hebing(int x,int y)
18{
19 x=find(x);
20 y=find(y);
21 if(x==y)
22  return y;
23 if(rank[x]<rank[y])
24 {
25  parent[x]=y;
26  return y;
27 }

28 else
29 {
30
31  parent[y]=x;
32  return x;
33  if(rank[x]=rank[y])
34  rank[x]++;
35  return x;
36 }

37}

38struct ss
39{
40 int i;
41 int j;
42}
s[N];
43int main()
44{
45
46 int m,n,k,sum,num,p;
47 while(cin>>n>>m)
48 {
49  num=0;
50  for(k=0;k<m;k++)
51  {
52   cin>>s[k].i>>s[k].j;
53   init(s[k].i);
54   init(s[k].j);
55   parent[s[k].j]=parent[s[k].i];
56  }

57
58  
59  sum=n+sum-num;
60  cout<<sum<<" "<<num<<" "<<n<<endl;
61 }

62 return 0;
63}

64

posted @ 2010-08-09 22:20 玉中石 阅读(65) | 评论 (0)编辑 收藏

pku 2509

 1#include<iostream>
 2using namespace std;
 3int main()
 4{  int n,k,s,sum,h;
 5    while(cin>>n>>k)
 6    {    h=n;
 7    sum=0;
 8                    while(n>=k)
 9                    {
10                               s=n/k;
11                               sum+=s;
12                               n=s+n%k;
13                               }

14                               cout<<sum+h<<endl;
15                    }

16    return 0;
17    }

18   
19
20
21 

posted @ 2010-08-09 22:18 玉中石 阅读(87) | 评论 (0)编辑 收藏

pku 2017

#include<iostream>
using namespace std;
struct speed
{
int s;
int t;
}
ss[10];
int main()
{
int n,i,sum;
while(cin>>n)
{
if(n==-1)
break;
for(i=0;i<n;i++)
cin
>>ss[i].s>>ss[i].t;
sum
=ss[0].s*ss[0].t;
for(i=1;i<n;i++)
{
ss[i].t
=ss[i].t-ss[i-1].t;
sum
=sum+ss[i].s*ss[i].t;
ss[i].t
=ss[i].t+ss[i-1].t;
}

cout
<<sum<<" "<<"miles"<<endl;
}

return 0;
}

posted @ 2010-08-09 22:17 玉中石 阅读(84) | 评论 (0)编辑 收藏

pku 1003

#include<iostream>
using namespace std;
int main()
{
double sum=0,l=0.00;
int n,k;
while(cin>>l)
{
 
if(l==0.00)
  
break;
 n
=2;
 k
=0;
 
if(l<=0.50)
  k
=1
while(sum<l)
{
sum
=sum+1.00/n;
k
++;
n
++;
}

cout
<<k<<" "<<"card(s)"<<endl;
}

return 0;
}

posted @ 2010-08-09 22:15 玉中石 阅读(93) | 评论 (0)编辑 收藏

pku 1027

 1#include<iostream>
 2using namespace std;
 3int cycle(int n)
 4{
 5 int k;
 6 k=1;
 7 while(n!=1)
 8 {
 9  if(n%2)
10  {
11   n=3*n+1;
12   k++;
13  }

14  else
15  {
16   n=n/2;
17   k++;
18  }

19 }

20 return k;
21}

22int main()
23{
24 int i,j,a,b,s,max;
25 while(cin>>i>>j)
26 {
27  a=i;
28  b=j;
29  if(a<b)
30   swap(a,b);
31  max=cycle(b);
32  for(s=b+1;s<=a;s++)
33   max=max>cycle(s)?max:cycle(s);
34  cout<<i<<" "<<j<<" "<<max<<endl;
35 }

36 return 0;
37}

38
39

posted @ 2010-08-09 22:14 玉中石 阅读(95) | 评论 (0)编辑 收藏

pku 1517

 1//http://acm.pku.edu.cn/JudgeOnline/problem?id=1517
 2#include<iostream>
 3using namespace std;
 4int jiecheng(int n)
 5{
 6    if(n==0||n==1)
 7    return 1;
 8    else
 9    return n*jiecheng(n-1);
10    }

11int main()
12{
13    int i;
14    double a=1.0,b=0.0;
15    printf("n e\n");
16    printf("- -----------\n");
17    for(i=0;i<=9;i++){
18    a=1.0/jiecheng(i);
19    b+=a;
20    printf("%d %.10g\n",i,b);//g与f 
21    }

22    system("pause");
23    return 0;    
24    }

25

posted @ 2010-08-09 22:12 玉中石 阅读(68) | 评论 (0)编辑 收藏

pku 2234 博弈论

pku 2234

posted @ 2010-08-09 22:10 玉中石 阅读(122) | 评论 (0)编辑 收藏

pku 2406

 

 1#include<iostream>
 2using namespace std;
 3#include "string.h"
 4#define MAX 1000000
 5char s[MAX];    
 6int next[MAX];
 7int main()
 8
 9{
10    //freopen("1.txt","r",stdin);
11    int i, j, len;
12    while (scanf("%s",&s) != EOF)
13    {
14        if (s[0== '.' && s[1== '\0')
15        {
16            break;
17        }

18        len = strlen(s);
19        i = 0;
20        j = -1;
21        next[0= -1;
22        while (i < len)
23        {
24            if (j == -1 || s[i] == s[j])
25            {
26                ++i;
27                ++j;
28                if (s[i] != s[j])
29                {
30                    next[i] = j;
31                }

32                else
33                {
34                    next[i] = next[j];
35                }

36            }

37            else
38            {
39                          j = next[j];
40            }

41        }

42        i -= j;
43        if (len % i == 0)
44        {
45            i = len / i;
46        }

47        else
48        {
49           i = 1;
50        }

51        printf("%d\n", i);
52    }

53     system("pause");
54    return 0;
55}

56
57

posted @ 2010-08-09 15:56 玉中石 阅读(61) | 评论 (0)编辑 收藏

仅列出标题