UVa 489 侩子手游戏

来源:互联网 发布:淘宝客服工作总结100字 编辑:程序博客网 时间:2024/06/03 20:03

背景:1_WA:写成这种形式,一旦ok==1,函数就要执行两次,竟然很巧妙的过了样列!看来以后还要自己出五个个变态数据和样例一起提交才ok啊!

if(ok()==0)    .......;else if(ok()==1)   ......;else   .....;

2_WA:没有考虑形如:

1

xiao

asdxiaoefg

这种类型,虽然已经win了,还是继续循环,一旦判断为某结果应该立刻退出!!还是自己没有多出点测试数据造成的!!

学习:

#include<stdio.h>#include<string.h>#define maxn 105char a[maxn],b[maxn];int ok(void){int wrong=0,ha=strlen(a),hb=strlen(b);for(int i=0;i<hb;i++){bool iswrong=true;for(int j=0;j<ha;j++){if(a[j]==b[i]){iswrong=false;a[j]=0;}}if(iswrong) wrong++;if(wrong==7) return 0;bool iswin=true;for(int i=0;i<ha;i++){if(a[i]!=0) iswin=false;          }  if(iswin) return 1;}return 2;} int main(void){  int count;while(scanf("%d",&count)&&count!=-1){scanf("%s %s",a,b);printf("Round %d\n",count);int ans=ok(); if(ans==0) printf("You lose.\n");else if(ans==1) printf("You win.\n");else printf("You chickened out.\n");}} 


0 0
原创粉丝点击