uva---489

来源:互联网 发布:网络用语2017 编辑:程序博客网 时间:2024/06/11 05:54
本来是看了刘汝佳的解法,可惜看不懂 。就自己想,最后果断过了。
有想法了,就很简单。水题一道。
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int clear_away_simple(char str[],int len,char str1[]){    int i,j,temp;    for(i=0;i<len-1;i++)    {        for(j=i+1;j<len;j++)        {            if(str[i]>str[j])            {                temp=str[j];                str[j]=str[i];                str[i]=temp;            }        }    }    str1[0]=str[0];    for(i=1,j=1;i<len;i++)    {        if(str[i]!=str[i-1])        {            str1[j]=str[i];            j++;        }    }    return j;}int main(){        char str[1000],str2[1000];        char str1[1000];        int Case;        int n;        while(scanf("%d",&Case))        {            if(Case==-1)            {                return 0;            }            getchar();            printf("Round %d\n",Case);            gets(str);            gets(str2);            int len=strlen(str);            int len2=strlen(str2);            int len1;            len1 = clear_away_simple(str,len,str1);            int i,j,k;            int Wrong_mark=0,True_mark=0;            int Wrong=0;            for(i=0;i<len2;i++)            {                Wrong_mark=1;                for(j=0;j<len1;j++)                {                    if(str2[i]==str1[j])                    {                        str1[j]='0';                        for(k=0;k<len1;k++)                        {                            if(str1[k]!='0')                             break;                        }                        if(k==len1)                        {                            True_mark=1;                        }                        Wrong_mark=0;                    }                }                if(Wrong_mark==1)                {                    Wrong++;                    if(Wrong==7)                    {                        break;                    }                }                if(True_mark==1)                {                    break;                }            }            if(True_mark==1)            {                printf("You win.\n");            }            else if(Wrong==7)            {                printf("You lose.\n");            }            else            {                printf("You chickened out.\n");            }            memset(str1,0,sizeof(str1));            memset(str2,0,sizeof(str2));        }}

0 0
原创粉丝点击