标签:
A
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int a,b,c; 5 int ans; 6 int main() 7 { 8 cin>>a>>b>>c; 9 ans=a; 10 if(a>b) ans=b; 11 if(c<ans) ans=c; 12 cout<<ans<<endl; 13 14 return 0; 15 }
B
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<algorithm> 6 using namespace std; 7 int n; 8 int main() 9 { 10 int ans[1000],num=0; 11 cin>>n; 12 while(n){ 13 if(n&1) ans[num]=1; 14 else ans[num]=0; 15 n=n>>1; 16 num++; 17 } 18 for(int i=num-1;i>=0;i--){ 19 if(i==num-1) printf("%d",ans[i]); 20 else printf("%d",ans[i]); 21 } 22 cout<<endl; 23 return 0; 24 }
C
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<algorithm> 6 using namespace std; 7 int n; 8 int m,t; 9 char str; 10 int main() 11 { 12 cin>>t; 13 cin>>n>>m; 14 cin>>str; 15 if(str==‘w‘){ 16 if(n==0) printf("N\n"); 17 else printf("Y\n"); 18 } 19 else if(str==‘s‘){ 20 if(n==t-1) printf("N\n"); 21 else printf("Y\n"); 22 } 23 else if(str==‘a‘){ 24 if(m==0) printf("N\n"); 25 else printf("Y\n"); 26 } 27 else if(str==‘d‘){ 28 if(m==t-1) printf("N\n"); 29 else printf("Y\n"); 30 } 31 return 0; 32 }
D
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<algorithm> 6 using namespace std; 7 int n; 8 int m,t; 9 int str; 10 int mat[107][107]; 11 int main() 12 { 13 cin>>t; 14 for(int i=0;i<t;i++) 15 for(int j=0;j<t;j++) 16 { 17 scanf("%d",&mat[i][j]); 18 } 19 cin>>n>>m; 20 cin>>str; 21 if(str==0){ 22 if(m-1>=0&&mat[n][m-1]==0) printf("Y\n"); 23 else printf("N\n"); 24 } 25 else if(str==1){ 26 if(n+1<t&&mat[n+1][m]==0) printf("Y\n"); 27 else printf("N\n"); 28 } 29 else if(str==2){ 30 if(m+1<t&&mat[n][m+1]==0) printf("Y\n"); 31 else printf("N\n"); 32 } 33 else if(str==3){ 34 if(n-1>=0&&mat[n-1][m]==0) printf("Y\n"); 35 else printf("N\n"); 36 } 37 return 0; 38 }
E
1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<string> 6 #include<iostream> 7 using namespace std; 8 char a[300],b[300],c[300]; 9 int ff() 10 { 11 int l1=strlen(a),l2=strlen(b); 12 int j=0; 13 for(int i=0;i<l1;i++) 14 { 15 j=0; 16 while(a[i+j]==b[j]){ 17 j++; 18 if(j==l2) return i; 19 } 20 } 21 } 22 int main() 23 { 24 //freopen("in.txt","r",stdin); 25 cin>>a;cin>>b;cin>>c; 26 int point=ff(); 27 int i; 28 for(i=0;i<point;i++) 29 { 30 printf("%c",a[i]); 31 } 32 for(i=0;i<strlen(c);i++) printf("%c",c[i]); 33 for(i=point+strlen(b);i<strlen(a);i++) 34 printf("%c",a[i]); 35 cout<<endl; 36 }
F
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstring> 5 using namespace std; 6 struct node 7 { 8 int a[6],num; 9 }; 10 int top,base; 11 node q[10000]; 12 int n,aa[6]; 13 int ans; 14 bool ff; 15 bool flag[666666]; 16 bool judge(int point) 17 { 18 return !flag[point]; 19 } 20 int get_num(int aa[]) 21 { 22 return aa[0]+aa[1]*10+aa[2]*100+aa[3]*1000+aa[4]*10000+aa[5]*100000; 23 } 24 void get1() 25 { 26 aa[1]=q[base].a[0]; 27 aa[4]=q[base].a[1]; 28 aa[3]=q[base].a[4]; 29 aa[0]=q[base].a[3]; 30 aa[2]=q[base].a[2]; 31 aa[5]=q[base].a[5]; 32 } 33 void get2() 34 { 35 aa[0]=q[base].a[0]; 36 aa[3]=q[base].a[3]; 37 aa[1]=q[base].a[4]; 38 aa[2]=q[base].a[1]; 39 aa[5]=q[base].a[2]; 40 aa[4]=q[base].a[5]; 41 } 42 bool can() 43 { 44 for(int i=0;i<6;i++) 45 if(q[base].a[i]!=i+1) return 0; 46 return 1; 47 } 48 void paste(int a1[],int a2[]) 49 { 50 for(int i=0;i<6;i++) a1[i]=a2[i]; 51 } 52 void bfs() 53 { 54 while(base<top){ 55 if(can()){ans=q[base].num;ff=1;return;} 56 get1(); 57 int point=get_num(aa); 58 if(judge(point)){ 59 flag[point]=1; 60 q[top].num=q[base].num+1; 61 paste(q[top++].a,aa); 62 } 63 get2(); 64 point=get_num(aa); 65 if(judge(point)){ 66 flag[point]=1; 67 q[top].num=q[base].num+1; 68 paste(q[top++].a,aa); 69 } 70 base++; 71 } 72 } 73 int main() 74 { 75 node n1; 76 scanf("%d",&n); 77 while(n--){ 78 for(int i=0;i<6;i++) scanf("%d",&q[0].a[i]); 79 ff=0; 80 top=base=0;q[0].num=0;top=1; 81 memset(flag,0,sizeof(flag)); 82 int point=get_num(q[0].a); 84 flag[point]=1; 85 bfs(); 86 if(!ff) printf("-1\n"); 87 else printf("%d\n",ans); 88 } 89 return 0; 90 }
G
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<stack> 6 using namespace std; 7 stack<int> s; 8 int n,l; 9 char str[100]; 10 int ans[20]; 11 void slove() 12 { 13 int top=1; 14 while(!s.empty()) s.pop(); 15 char s1,s2,n1,n2; 16 for(int i=0;i<l;i++) 17 { 18 if(str[i]==‘a‘) 19 { 20 s2=s.top();s.pop(); 21 s1=s.top();s.pop(); 22 if(s1==‘0‘||s2==‘0‘) s.push(‘0‘); 23 else s.push(‘1‘); 24 } 25 else if(str[i]==‘o‘) 26 { 27 s2=s.top();s.pop(); 28 s1=s.top();s.pop(); 29 if(s1==‘0‘&&s2==‘0‘) s.push(‘0‘); 30 else s.push(‘1‘); 31 } 32 else if(str[i]==‘i‘) 33 { 34 s2=s.top();s.pop(); 35 s1=s.top();s.pop(); 36 if(s1==‘1‘&&s2==‘0‘) s.push(‘0‘); 37 else s.push(‘1‘); 38 } 39 else if(str[i]==‘e‘) 40 { 41 s2=s.top();s.pop(); 42 s1=s.top();s.pop(); 43 if(s1==s2) s.push(‘1‘); 44 else s.push(‘0‘); 45 } 46 else if(str[i]==‘n‘) 47 { 48 s1=s.top();s.pop(); 49 if(s1==‘0‘) s.push(‘1‘); 50 else s.push(‘0‘); 51 } 52 else{ 53 char c=ans[top++]+‘0‘; 54 s.push(c); 55 } 56 } 57 } 58 void print() 59 { 60 for(int i=1;i<=n;i++) 61 printf("%d ",ans[i]); 62 printf("%c\n",s.top()); 63 } 64 void dfs(int point) 65 { 66 if(point>n) {slove();print();return;} 67 for(int i=0;i<2;i++) 68 { 69 ans[point]=i; 70 dfs(point+1); 71 } 72 } 73 74 int main() 75 { 76 scanf("%d",&n); 77 scanf("%s",str); 78 l=strlen(str); 79 dfs(1); 80 return 0; 81 }
H
1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<string> 6 #include<iostream> 7 using namespace std; 8 char a[10007]; 9 int main() 10 { 11 //freopen("in.txt","r",stdin); 12 int ans=0; 13 cin.getline(a,10002); 14 int l=strlen(a); 15 for(int i=0;i<l;i++) 16 if(a[i]==‘ ‘&&i>0&&a[i-1]!=‘ ‘) ans++; 17 cout<<ans<<endl; 18 }
I
//这题西工大的测试数据好像出错了,poj上有这个的原题
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstring> 5 using namespace std; 6 int n,m; 7 char mat[1007][1007]; 8 int q[1000007]; 9 int next[8][2]={0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1}; 10 bool flag[1007][1007]; 11 bool t; 12 bool can(int i,int j) 13 { 14 if(i>=0&&i<n&&j>=0&&j<m&&!flag[i][j]&&mat[i][j]!=‘.‘) return 1; 15 return 0; 16 } 17 void bfs(int point) 18 { 19 int top=0,base=0,l,r,ll,rr; 20 q[top++]=point; 21 while(base<top){ 22 l=q[base]/m;r=q[base]%m; 23 for(int i=0;i<8;i++) 24 { 25 ll=l+next[i][0];rr=r+next[i][1]; 26 if(can(ll,rr)){ 27 t=1; 28 flag[ll][rr]=1; 29 q[top++]=ll*m+rr; 30 } 31 } 32 base++; 33 } 34 } 35 int main() 36 { 37 while(~scanf("%d%d",&n,&m)){ 38 int i,j;char c; 39 t=0; 40 for(int i=0;i<n;i++) 41 { 42 c=getchar(); 43 for(int j=0;j<m;j++) 44 { 45 46 c=getchar(); 47 mat[i][j]=c; 48 49 } 50 } 51 memset(flag,0,sizeof(flag)); 52 long long ans=0; 53 for(i=0;i<n;i++) 54 for(j=0;j<m;j++) 55 { 56 if(!flag[i][j]&&mat[i][j]!=‘.‘) 57 { 58 t=0; 59 flag[i][j]=1; 60 ans++; 61 bfs(i*m+j); 62 } 63 } 64 cout<<ans<<endl;} 65 return 0; 66 }
西北工业大学2015年计算机学院考研机试 题目+标程(完整版)
标签:
原文地址:http://www.cnblogs.com/codeyuan/p/4374999.html