首页 > 代码库 > 一二三

一二三

切切水题抚慰受伤的心=~=


1250: 一二三

Time Limit: 1 Sec  Memory Limit: 128 MB
[Submit][Status][Web Board]

Problem Description

 你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。他在纸上写了好些一二三,可惜有些字母写错了。已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗?

Input

 第一行为单词的个数(不超过10)。以下每行为一个单词,单词长度正确,且最多有一个字母写错。所有字母都是小写的。

Output

 对于每组测试数据,输出一行,即该单词的阿拉伯数字。输入保证只有一种理解方式。

Sample Input

3
owe
too
theee

Sample Output

1
2
3

HINT

Source

湖南省第七届大学生程序设计大赛

Difficulty

Author

admin

这个很好弄的,首先根据字符串长度判断 three ,然后根据匹配度判断 one 和 two

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#define PI acos(-1.0)
#define eps 1e-8
#define LL long long
#define moo 31536000
#define INF 1e9
#define maxn 100010
using namespace std;
char s[100];
char one[4]="one",two[4]="two";
int ans1,ans2;
int main()
{
    int n;
    while(~scanf("%d",&n) && n)
    {
     ans1=ans2=0;
     scanf("%s",s);
        int len=strlen(s);
        if(len==5)
                printf("3\n");
        else
        {
            for(int i=0;i<=2;i++)
            {
                if(s[i]==one[i])
                    ans1++;
                if(s[i]==two[i])
                    ans2++;
            }
            if(ans1>ans2)
                printf("1\n");
            else
                printf("2\n");
        }
    }
    return 0;
}
 
/**************************************************************
    Problem: 1250
    User: mangogo
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1436 kb
****************************************************************/


一二三