20分求助!!!
查看原帖
20分求助!!!
649751
Blued楼主2022/10/12 07:15

用新奇的方法写
为啥不对

#include<bits/stdc++.h>
#define int long long
using namespace std;

const int N = 1e6 + 5;

string a;

string b[N];

string c;

string d;

char ch;

int num;

int ans;

map < string , int> s;

void work(string &m)
{
	for(int i = 0;i < m.size();i ++)
	if(m[i] >= 'A' && m[i] <= 'Z')
	m[i] += 32;
}

main()
{
//	freopen("match.in" , "r" , stdin);
//	freopen("match.out" , "w" , stdout);
	
	cin >> a;
	
	work(a);
	
	do
	{
		cin >> c;
		work(c);
		b[++num] = c;
		s[c] ++;
		ch = getchar();
	} while(ch == ' ');
	
	if(s[a])
	{
		printf("%d " , s[a]);
		
		for(int i = 1;i <= num;i ++)
		{
			if(b[i] == a)
			{
				printf("%lld\n" , ans);
				break;
			}
			ans += b[i].size() + 1;
		}
	}
	else
	printf("-1\n");
	
	fclose(stdin);
	fclose(stdout);
	return false;
}
2022/10/12 07:15
加载中...