HDU - 1251 统计难题

https://vjudge.net/problem/HDU-1251

#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<cstring> 
using namespace std;
int main()
{
	char a[15],b[15];
	unordered_map<string,int> q;
	while(cin.getline(a,11) && strlen(a)!=0)
	{
		for(int i=strlen(a);i>=1;i--)
		{
			a[i]='\0';
			q[a]++;
		}
	}
	while(cin.getline(a,11))
		cout<<q[a]<<"\n";
	return 0;
}
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<map>
using namespace std;
int main()
{
	string s;
	string r;
	int x;
	map<string,int> q;
	q.clear();
	while(getline(cin,s) && s.size()!=0)
	{
		for(int i=s.size();i>=1;i--)
		{
			string s1(s,0,i);
			q[s1]++;
		}
	}

	while(getline(cin,r))
	{
		cout<<q[r]<<"\n";
	}
}

下边代码有问题

#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<map>
using namespace std;
int main()
{
	string s;
	map<string,int> q;
	while(getline(cin,s) && s.size()!=0)
	{
		q[s]++;
		for(int i=s.size()-1;i>=1;i--)
		{
			s[i]='\0';
			cout<<s<<endl;
			q[s]++;
		}
	}

	while(cin>>s)
		cout<<s<<" "<<q[s]<<"\n";
	return 0;
}

在这里插入图片描述

posted @ 2021-08-20 15:38  斯文~  阅读(20)  评论(0)    收藏  举报

你好!