Professional Documents
Culture Documents
2
-.................................................................................2
-..........................................................................................3
8.29 .................................................................3
8.29 5 2 .......................................................................4
8.29 ..........................................................................................5
8.31 ..........................................................................................................5
8.31 23...................................................6
8.31 ................................................................................................6
9.1.AM ...................................................................7
9.1.AM ..................................................................................................8
9.1.AM if ............................................................................8
9.1.PM................................................................................................................8
9.1.PM................................................................................................................9
9.1.PM................................................................................................................9
-
10 A
(1)
10
(2)
60%
(3) 60 60
#include<stdio.h>
void sort(int a[])
{
int i,j,t;
for(i = 0;i < 10;i++)
for(j = i+1;j<10;j++)
{
if(a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
int main()
{
int num[10] = {0};
int i;
for(i = 0;i < 10;i ++)
{
scanf("%d ", &num[i]);
}
sort(num);
#include<stdio.h>
#define MAX 65535
int GetNum(int n)
{
int i,j,num = 0;
char a[MAX] = {0};
if((n < 1) || (n > MAX))
return 0;
for(i = 1; i < n; i++)
for(j = 1; j < n; j++)
{
if ((j % i) == 0)
{
a[j] += 1;
a[j] %= 2;
}
}
return num;
int main()
{
int a;
scanf("%d",&a);
printf("%d",GetNum(a));
return 0;
}
#include<stdio.h>
int main()
{
int i,j,n;
int cnt = 0;
scanf("%d",&n);
for(i = 1;;i++)
{
j = i * i;
if(j > n)
break;
cnt++;
}
printf("%d",cnt);
return 0;
}
2 A B
T1T2
//
//
#include<iostream>
#include<string>
#include<stack>
#define inf 1000 //
#define stanum 35
//
{
cout<<"start station to destination distance
cout<<"\t"<<start<<"->"<<dest<<"\t\t";
path"<<endl;
int s;
int d;
s=string2int(start);
d=string2int(dest);
cout<<"\t"<<dis[s][d]+1<<"\t"; // 1
for(int i=0;i<stanum;i++)
for(int j=0;j<stanum;j++)
{
if(i==s&&j==d) //
{
stack<int> pathrout; //
int k=j;
do
{
k=path[i][k];
pathrout.push(k);
}while(k!=i);
//
cout<<s1[pathrout.top()];
pathrout.pop();
int length=pathrout.size();
for(int t=0;t<length;t++)
{
cout<<"->"<<s1[pathrout.top()];
pathrout.pop();
}
cout<<"->"<<s1[d]<<endl;
break;
}
}
int main()
{
int distance[stanum][stanum];
int path[stanum][stanum];
string start;
string dest;
//
for(int i=0;i<stanum;i++)
{
for(int j=0;j<stanum;j++)
{
if(i==j)
distance[i][j]=0;
else
distance[i][j]=inf;
}
}
//
int sa[21]={0,1,2,3,4,5,6,7,8,33,9,10,11,12,34,13,14,15,16,17,0};
for(int m=0;m<20;m++)
{
distance[sa[m]][sa[m+1]]=1;
distance[sa[m+1]][sa[m]]=1;
}
int sb[17]={18,19,20,21,22,33,23,24,25,26,27,34,28,29,30,31,32};
for(int n=0;n<16;n++)
{
distance[sb[n]][sb[n+1]]=1;
distance[sb[n+1]][sb[n]]=1;
}
floyd(distance,path);
cout<<"input start and destination"<<endl;
cin>>start>>dest;
printres(distance,path,start,dest);
system("pause");
return 0;
8.29
1','
#include<stdio.h>
int main()
{
int a[100] = {0}, n = 0,temp,min, max,i,j,num = 0;
char c = '0';
n = 0;
while(c != '\n')
{
scanf("%d%c",&temp,&c);
a[n] = temp;
n++;
}
max = min = a[0];
for(i = 0;i < n;i++)
{
if(a[i] > max)
max = a[i];
if(a[i] < min)
min = a[i];
}
for(j = 0;j < n;j++)
{
if((a[j] < max) && (a[j] > min))
num++;
}
printf("%d",num);
return 0;
8.29 5 2
2 5 2 160-190
2
Smple input161 189 167 172 188 Sample outPut: 188 189
#include<stdio.h>
#include<math.h>
void sort(int a[])
{
int i,j,temp;
for(i = 0;i < 5;i++)
for(j = 0;j < 5;j++)
{
if(a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
int main()
{
int a[5] = {0}, b[4] = {0};
int i, temp;
for(i = 0;i < 5;i++)
scanf("%d",&a[i]);
sort(a);
for(i = 0;i < 5;i++)
{
b[i] = abs(a[i+1] - a[i]);
}
temp = b[0];
for(i = 0;i < 4;i++)
{
if(temp > b[i])
temp = b[i];
}
for(i = 4;i > 0;i--)
//
{
if((b[i] == temp) && a[i] > 160 && a[i] < 190)
printf("%d %d",a[i],a[i+1]);
}
return 0;
}
8.29
3
[,']', 0 1.
Smple inputdfa(sdf)df[dfds(dfd)] Smple outPut:0
#include<stdio.h>
int main()
{
char a[100],c,i = 0;
int flag = 0;
scanf("%c",&c);
while(c != '\n' && flag == 0)
{
switch(c)
{
case('('):
a[i] = c;
i++;
break;
case('['):
a[i] = c;
i++;
break;
case(')'):
if(a[i - 1] == '(')
{
a[i -1] = '\0';
i--;
}
else
flag = 1;
break;
case(']'):
if(a[i - 1] == '[')
{
8.31
1. 1
#include<stdio.h>
int main()
{
int n,m = 0,temp;
scanf("%d",&n);
temp = n;
while(temp > 0)
{
m *= 10;
m += temp % 10;
temp = temp / 10;
}
if(m == n)
printf("1");
else
printf("0");
return 0;
}
8.31 23
23
23
123 423 186523
2.
#include<stdio.h>
int main()
{
int a[100] = {0},temp,s,i = 0,j;
char c = '\0';
int sort[100],t = 0;
while(c != '\n')
{
scanf("%d%c",&temp,&c);
a[i] = temp;
i++;
}
scanf("%d",&s);
for(j = 0;j <= i;j++)
{
temp = a[j];
while(temp > 0)
{
if(temp % 100 == s)
{
sort[t] = a[j];
t++;
break;
}
else
temp /= 10;
}
8.31
3.
2 9 0
one two
nine zero
double
OneTwoThree
123
OneTwoDoubleTwo
1222
1Two2 ERROR
DoubleDoubleTwo ERROR
Double Double
#include<stdio.h>
#include<string.h>
int main()
{
char a[11][11] =
{"zero","one","two","three","four","five","six","seven","eight","nine","double"};
char temp[11];
char c = '\0';
int i,d = 0,f;
//d means double
f means final
while(c != '\n')
{
scanf("%s%c",&temp,&c);
f = 0;
for(i = 0;i < 11;i++)
{
if(strcmp(temp,a[i]))
{
printf("ERROR\n");
break;
}
}
for(i = 0;i < 11;i++)
{
if(!strcmp(temp,a[i]) && i < 10)
{
printf("%d",i);
f = 1;
if(d == 1)
{
printf("%d",i);
d = 0;
}
}
else if(!strcmp(temp,a[i]) && i == 10)
{
if(d == 1){
printf("ERROR\n");
break;
}
d = 1;
f = 1;
}
}
if(f == 0)
break;
}
return 0;
}
9.1.AM
12336544 1750
0
456321 571-175-571
#include<stdio.h>
int main()
{
int Num,n[50],a[10] = {0},temp,i = 0,flag = 0;
char c; //a falg 0 0
scanf("%c",&c);
scanf("%d",&Num);
while(Num > 0)
{
//
9.1.AM
1000000000000001
1
1000000000000000
char a[] %s a[0]
#include<stdio.h>
#include<string.h>
void dec(char *d1, char *d2, char *out)
{
int len_min = strlen(d1);
int len_max = strlen(d2);
int last_j = 0; //
while(len_min > 0)
{
int dd1 = d1[len_min - 1] - '0';
int dd2 = d2[len_max - 1] - '0';
if (last_j) dd2 = dd2 - 1;
last_j = dd2 >= dd1 ? 0 : 1;
dd2 = dd2 >= dd1 ? dd2 : dd2 + 10;
out[len_max] = (dd2 - dd1) + '0';
len_max --;
len_min --;
}
while(len_max > 0)
{
int dd2 = (d2[len_max -1] - '0');
if (last_j) dd2 = dd2 - 1;
last_j = dd2 >= 0 ? 0 : 1;
9.1.AM if
if ()
if
if((a==1)&&(b==1))
if((a==1))&&(b==1)) if
if((a==1)&&(b==1))
RIGTH 3 3
if((a==1))&&(b==1))
WRONG 3 4
#include<stdio.h>
#include<string.h>
int main()
{
char s[800] = {'\0'};
int len,i,l = 0,r = 0;
int a[50],k = 0,flag = 1;
scanf("%s",&s);
len = strlen(s);
for(i = 0;i < len;i++)
{
if(s[i] == '(')
{
l++;
a[k] = 1;
k++;
}
else if(s[i] == ')')
{
r++;
if(a[k-1] == 1 && k > 0)
{
a[k -1] = 0;
k--;
}
else
flag = 0;
}
if((i == 0 && s[i] != '(') || (i == len - 1 && s[i] != ')'))
flag = 0;
}
if((a[0] == 0) && (flag != 0))
printf("RIGHT ");
else
printf("WRONG ");
printf("%d %d",l,r);
return 0;
}
9.1.PM
M N
m n, M N
0
n=8 m=9
123456789
12345678
90000000
123 12300000
#include<stdio.h>
#include<string.h>
int main()
{
char c[200] = {'\0'};
int n,i,j,len;
scanf("%s",&c);
scanf("%d",&n);
len = strlen(c);
for(i = 1;i <= len;i++)
{
j = i % n;
printf("%c",c[i-1]);
if(j == 0)
printf("\n");
}
for(i = j+1;i <= n;i++)
printf("0");
return 0;
}
9.1.PM 2 32
2 32
#include<stdio.h>
int main()
{
int M,a[32] = {0},i = 0,j;
scanf("%d",&M);
while(M > 0)
{
a[i] = M % 2;
i++;
M /= 2;
}
for(i = 31;i >= 0;i--)
printf("%d",a[i]);
return 0;
}
9.1.PM
01
20
5 1 3 5 7 8
1 3 5 7 8
0 0 1 1 1
5+7+8=20
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int a[50];
int b[50] = {0};
int find(int w,int s)
{
if(w == 0)
return 1;
if(w < 0 || w > 0 && s == 0)
return 0;
if(find(w - a[s-1],s-1))
{
b[s-1] = 1;
return 1;
}
return find(w,s-1);
}
int main()
{
int n,m,i;
scanf("%d %d",&n,&m);
for(i = 0;i < m;i++)
scanf("%d",&a[i]);
if(find(n,m))
{
for(i = 0;i < m;i++)
printf("%d",b[i]);
}
else
printf("No\n");
return 0;
}
2014 7 6 9:30 B
2sdARSFGfg
#include<stdio.h>
#include<string.h>
int main()
{
char a[100] = {'\0'};
int i = 0,len;
/*while(c != '\n')
{
scanf("%c%c",&a[i++],&c);
if(c != '\n')
a[i++] = c;
}*/
gets(a);
len = strlen(a);
for(i = 0;i <= len;i++)
{
if(a[i] >= 'A' && a[i] <= 'Z')
printf("%c",a[i]);
}
printf("\n");
return 0;
}
ARSFG
N 3
N
#include<stdio.h>
void Josephus(int m)
{
int a[100] = {0};
int i,num = 0,n = 0;
for(i = 0;i < m;i++)
a[i] = i+1;
for(i = 0;i < m;i++)
{
while(n < 3)
{
if(a[num] == 0)
num = (num + 1) % m;
n++;
num = (num + 1) % m;
}
num--;
if(num < 0)
num = m - 1;
if(i == (m - 1))
printf("%d\n",a[num]);
a[num] = 0;
}
}
int main()
{
int m;
scanf("%d",&m);
Josephus(m);
return 0;
}
10*10 0 1 2
10*10
4 3 1 4,3
: 0
2014 7 6 9:30A
20
121 33 44 11 1111
#include<stdio.h>
#include<string.h>
11
15
none
1 1 1 1 2 2 2 1 3 3 3 3 1 1 1
none
#include<stdio.h>
int main()
()
: i,xidian
#include<stdio.h>
#include<string.h>
#include<malloc.h>
int compare(const char * st1,const char * st2)
{
if (strcmp(st1,st2)==0)
return 1;
else
return 0;
}
void PickWord(const char* pInPut,char *pOutPut1,char *pOutPut2)
{
char tem[BUFSIZ][40]={'\0'};
const char *p=pInPut;
int j=0;
int i=0;
int l=0;
char *po1=pOutPut1;
char *po2=pOutPut2;
int m,n,max1,max2;
int max[BUFSIZ]={0};
//
while(*p!='\0')
{
if(((*p>='a')&&(*p<='z'))||((*p>='A')&&(*p<='Z'))||
(*p=='\''))
{
tem[j][i++]=*p ;
p++;
}
else
{
tem[j][i]='\0';
j++;
p++;
i=0;
}
}
//
for (n=0;n<=j;n++)
{
max[n]=0;
for(m=0;m<=j;m++)
{
max[n]+=compare(tem[n],tem[m]);
}
}
//
max1=0;
max2=0;
for (n=0;n<=j;n++)
{
if (max[n]>max1)
{
max1=max[n];
i=n;
}
}
for (l=0;l<strlen(tem[i]);l++)
{
*pOutPut1++=tem[i][l];
}
*pOutPut1='\0';
// 0
for (n=0;n<=j;n++)
{
if ((max[n]==max1)&&compare(tem[n],po1))
max[n]=0;
}
//
for (n=1;n<=j;n++)
{
if (max[n]>max2)
{
max2=max[n];
i=n;
}
}
for (l=0;l<strlen(tem[i]);l++)
{
*pOutPut2++=tem[i][l];
}
*pOutPut2='\0';
}
void main()
{
const char a[]="I am a student.I come from XiDian.I love XiDian.";
char* b=(char *)malloc(sizeof(char)*40);
char* c=(char *)malloc(sizeof(char)*40);
PickWord(a,b,c);
printf("%s\n",b);
printf("%s",c);
free(b);
free(c);
}
P.S. K
2014 7 6 13:00 A
M N ,
1<=M<=101<=N<=10
5 311 1,1,3
7 3
8
#include<stdio.h>
int fun(int m,int n)
//m n
{
int i,t = 0;
if(n <= 1)
return 1;
for(i = m;i >= 0;i -= n)
t += fun(i,n-1);
return t;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",fun(m,n));
return 0;
}
#include<stdio.h>
int count(int x,int y)
{
if(y == 1 || x == 0) return 1;
if(x < y)
return count(x,x);
return count(x,y - 1) + count(x - y,y);
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",count(m,n));
return 0;
}
20131231
365
#include<stdio.h>
int IsLeapYear(int Year)
{
if(((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0))
return 1;
else
return 0;
}
int main()
{
long int date;
int Year,Month,Day;
scanf("%d",&date);
Year = date / 10000;
Month = (date % 10000) / 100;
Day = date % 100;
if(Month < 1 || Month > 12 || Day < 1 || Day > 31)
printf("ERROR DATE!\n");
switch(Month)
{
case 1:
printf("%d",Day);
break;
case 2:
printf("%d",(Day + 31));
break;
case 3:
if(IsLeapYear(Year))
printf("%d",(Day + 60));
else
printf("%d",(Day + 59));
break;
default:
if(IsLeapYear(Year))
printf("%d",(Day + (Month / 2) * 31 + ((Month - 4) / 2 *
30 + 29)));
else
printf("%d",(Day + (Month / 2) * 31 + ((Month - 4) / 2 *
30 + 28)));
break;
}
printf("\n");
return 0;
(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu)
10 YiShi,
Shi.
JiuWanJiuQianJiuBaiJiuShiJiu
99999
#include<stdio.h>
#include<string.h>
int main()
{
char a[14][14] = {"Ling","Yi","Er","San","Si","Wu","Liu",
"Qi","Ba","Jiu","Shi","Bai","Qian","Wan"};
char temp[100],b[14][14] = {"\0"};
int i,j,n = 0;
int m[2] = {0};
int num = 0,len,l = 0,c = 0;
int st = 0,end = 0,flag = 0,flag1 = 0;
scanf("%s",&temp);
len = strlen(temp);
for(i = 0;i < len;i++)
{
if(temp[i] >= 'A' && temp[i] <= 'Z')
{
num++;
if(flag == 0)
{
st = i;
flag = 1;
}
else if(flag == 1)
{
end = i;
flag1 = 1;
}
}
if(flag1 == 1)
{
flag1 = 0;
l = 0;
for(j = st;j < end;j++)
{
b[c][l] = temp[j];
l++;
}
b[c][l] = '\0';
c++;
st = end;
}
}
l = 0;
for(j = end;j < len;j++)
{
b[c][l] = temp[j];
l++;
}
b[c][l] = '\0';
//
10)
11)
12)
13)
printf("%d",n);
return 0;
2014 7 6 13:00 B
n(1n65535) 123
n-1n
n 1
2
3 n
n n
10000ms
65535
#include<stdio.h>
int LightNum(int Num)
{
int l[65535] = {0};
int i,j,count = 0;
int main()
{
int l;
scanf("%d",&l);
printf("%d",LightNum(l));
return 0;
}
#include<stdio.h>
int LightNum(int Num)
{
int l[65535] = {0};
int i,j,count = 0;
long int t;
for(i = 1;i <= Num;i++)
{
for(j = 1;j <= Num;j++)
{
t = i * j;
255
}
}
for(i = 0;i < 65535;i++)
if(l[i] % 2 != 0)
count++;
return count;
int main()
{
int l;
scanf("%d",&l);
printf("%d",LightNum(l));
return 0;
}
#include<stdio.h>
int main()
{
int i,j,n;
int cnt = 0;
scanf("%d",&n);
for(i = 1;;i++)
{
j = i * i;
if(j > n)
break;
cnt++;
}
printf("%d",cnt);
return 0;
}
1
1 0
12312 12, 123456 0.
12312
1
#include<stdio.h>
#include<string.h>
#define TableSize 256;
int Equalchar(char *str)
{
int i;
char *phashKey = str;
int hashTable[256];
for(i = 0;i < 256;i++)
hashTable[i] = 0;
while(*phashKey)
{
hashTable[* phashKey]++;
phashKey++;
}
phashKey = str;
while(*phashKey)
{
if(hashTable[* phashKey] > 1)
return 1;
phashKey++;
}
return 0;
}
int main()
{
char s[1000];
gets(s);
printf("%d",Equalchar(s));
return 0;
}
flag = 1;
numerator = numerator < 0 ? -numerator : numerator;
denominator = denominator < 0 ? -denominator : denominator;
quotient = numerator / denominator;
reminder = numerator % denominator;
integer = quotient;
for(i = 0; i <= 100; i++)
{
if(reminder_exist[reminder])
{
cycle_pos = reminder_pos[reminder];
cycle_len = i - cycle_pos;
break;
}
else
{
reminder_exist[reminder] = 1;
reminder_pos[reminder] = i;
}
numerator = reminder * 10;
quotient = numerator / denominator;
reminder = numerator % denominator;
str[outcnt++] = quotient + '0';
}
str[outcnt++] = '\0';
if(!flag)
printf("%d.",integer);
else
printf("-%d.",integer);
for(j = 0; j < cycle_pos; j++)
printf("%c",str[j]);
printf("(");
int main()
{
int a,b,flag = 0;
char s[100];
scanf("%d%d",&a,&b);
if(!a && !b)
return 0;
div(a,b,s);
return 0;
1 // 2 A B
T1T2
45
46
for(int i=0;i<stanum;i++)
47
if(s==s1[i])
48
{
49
return i;
50
break;
51
}
52
53
54 }
55
56 void printres(int dis[][stanum],int path[][stanum],string start,string dest)
57 {
58
59
cout<<"start station to destination distance
path"<<endl;
60
cout<<"\t"<<start<<"->"<<dest<<"\t\t";
61
62
int s;
63
int d;
64
s=string2int(start);
65
d=string2int(dest);
66
cout<<"\t"<<dis[s][d]+1<<"\t"; // 1
67
68
for(int i=0;i<stanum;i++)
69
for(int j=0;j<stanum;j++)
70
{
71
if(i==s&&j==d) //
72
{
73
stack<int> pathrout; //
74
int k=j;
75
do
76
{
77
k=path[i][k];
78
pathrout.push(k);
79
80
}while(k!=i);
81
82
//
83
84
cout<<s1[pathrout.top()];
85
pathrout.pop();
86
87
int length=pathrout.size();
88
for(int t=0;t<length;t++)
89
{
90
cout<<"->"<<s1[pathrout.top()];
91
pathrout.pop();
92
93
}
94
cout<<"->"<<s1[d]<<endl;
95
96
97
break;
98
}
99
100
101
}
102
103
104}
105
106int main()
107{
108 int distance[stanum][stanum];
109 int path[stanum][stanum];
110 string start;
111 string dest;
112
113 //
114 for(int i=0;i<stanum;i++)
115 {
116
for(int j=0;j<stanum;j++)
117
{
118
if(i==j)
119
distance[i][j]=0;
120
else
121
distance[i][j]=inf;
122
}
123 }
124 //
125 int sa[21]={0,1,2,3,4,5,6,7,8,33,9,10,11,12,34,13,14,15,16,17,0};
126 for(int i=0;i<20;i++)
127 {
128
distance[sa[i]][sa[i+1]]=1;
129
distance[sa[i+1]][sa[i]]=1;
130 }
131 int sb[17]={18,19,20,21,22,33,23,24,25,26,27,34,28,29,30,31,32};
132
133 for(int i=0;i<16;i++)
134 {
135
distance[sb[i]][sb[i+1]]=1;
136
distance[sb[i+1]][sb[i]]=1;
137 }
138
139
140 floyd(distance,path);
141 cout<<"input start and destination"<<endl;
142 cin>>start>>dest;
143
144 printres(distance,path,start,dest);
145 system("pause");
146 return 0;
147}
1. 5
2. stdin('Standard Input')
stdout('Standard Output')
3.
4. VS2005 JDK1.7 Java
"Main" package C/C++
VS2005
5.
6. main
7.
8.
9.
0
2 3
1. 2 1 2 3
2. 4 ()
3. 7
1.3 3
4
2. 14 18 ()
:
:
( )
1T2T3T,4T5T6T,7T8T9T,1D2D3D,4D4D.
1.1T 1 T 19
;
2.4D 4 D , 19,
;
3.,
4...
5.
:
,
:
1T2T3T,4T5T6T,7T8T9T,1D2D3D,4D4D.
:
1
:
#include<stdio.h>
#include<string.h>
int main()
{
char t[100] = "1T2T3T,4T4T4T4T,7T8T9T,1D2D3D,4D4D.",a[100][3] =
{"\0"};
char d[3] = "2T",b[3] = "1T",c[3] = "3T";
int len,i,j,l = 0,r = 0;
int n = 0,num = 0;
//gets(t);
len = strlen(t);
for(i = 0;i < len;i++)
{
if(t[i] != ',' && t[i] != '.')
{
a[l][r] = t[i];
if(r == 1)
{
a[l][2] = '\0';
l++;
r = -1;
}
r++;
}
for(i = 1;i < l;i++)
{
if(!strcmp(a[i],d) && !strcmp(a[i-1],b) && !strcmp(a[i+1],c))
n += 1;
}
for(i = 0;i < l;i++)
{
if(!strcmp(a[i],a[i+1]))
num++;
if(num == 7)
{
n += 2;
num = 0;
}
}
for(i = 0;i < l-3;i++)
if(!strcmp(a[i],a[i+1])
&&
!strcmp(a[i+1],a[i+2])
strcmp(a[i+2],a[i+3]))
n += 2;
&&
//
//
}
printf("%d",n);
for(i = 0;i <= l;i++)
printf("%s\n",a[i]);
return 0;