代码长度限制
16 KB
时间限制
4000 ms
内存限制
64 MB
题目描述
给定你三个葡萄牙语单词,这些词将根据下表从左到右定义一个动物。
请你确定并输出这个动物的名称。
输入格式
根据上表,输入包含三个单词,每行一个,用以识别动物,单词由小写字母构成。
输出格式
输出识别出的动物的名称。
输入样例
vertebrado
ave
onivoro
输出样例
pomba
个人思路
原想法是只存储每个字符串的某个字符进行区分,可以少写很多代码,但写完后并没能通过所有测试点
最后还是用了下面一种妥协的并不聪明的方法,简单调用find方法即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<string> list;
list.push_back("aguia");
list.push_back("pomba");
list.push_back("homem");
list.push_back("vaca");
list.push_back("pulga");
list.push_back("lagarta");
list.push_back("sanguessuge");
list.push_back("minhoca");
vector<string> v;
v.push_back("vertebrado ave carnivoro");
v.push_back("vertebrado ave onivoro");
v.push_back("vertebrado mamifero onivoro");
v.push_back("vertebrado mamifero herbivoro");
v.push_back("invertebrado inseto hematofago");
v.push_back("invertebrado inseto herbivoro");
v.push_back("invertebrado anelideo hematofago");
v.push_back("invertebrado anelideo onivoro");
int t=3;
int a[8]={0};
while(t--)
{
string str;
cin>>str;
for(int i=0;i<8;i++)
{
int pos=v[i].find(str);
if(pos!=v[i].npos)
{
a[i]++;
}
}
str.clear();
}
for(int i=0;i<8;i++)
{
if(a[i]==3)
{
cout<<list[i]<<endl;
}
}
}