30分求调!!!不知道还有什么条件没有考虑到
查看原帖
30分求调!!!不知道还有什么条件没有考虑到
844496
J_Kobe楼主2024/6/7 13:10
#include <bits/stdc++.h>
using namespace std;

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	string name1, name2, ch;
	cin >> name1 >> name2;
	int n;
	cin >> n;
	getline(cin, ch);
	while (n--)
	{
		int a = 0, b = 0;
		int sum1 = 0, sum2 = 0;
		string s;
		getline(cin, s);
//		cout << s << endl;
		s += ' ';
		int len = s.size();
		bool f = 0, flag = 0;
		for (int i = 0; i < len; i++)
		{
			if (s[i] >= '0' && s[i] <= '9')
			{
				if (f == 0)
				{
					a = a * 10 + s[i] - '0';
				}
				else
				{
					b = b * 10 + s[i] - '0';
				}
			}
			else if (s[i] == ':')
			{
				f = 1;
			}
			else
			{
//				cout << a << ' ' << b << endl;
//				cout << flag << ' ';
				if (a >= 6 && a >= b + 2)
				{
					sum1++;
				}
				else if (b >= 6 && b >= a + 2)
				{
					sum2++;
				}
				else if (a >= 8 || b >= 8)
				{
					flag = 1;
//					cout << flag << ' ';
					break;
				}
				else if (a == 7 && b == 6)
				{
					sum1++;
				}
				else if (b == 7 && a == 6)
				{
					sum2++;
				}
				if (sum1 > 2 || sum2 > 2)
				{
					flag = 1;
//					cout << flag << ' ';
					break;
				}
				if (name1 == "federer" && sum2 || name2 == "federer" && sum1)
				{
					flag = 1;
//					cout << flag << ' ';
					break;
				}
				f = 0, a = b = 0;
			}
		}
//		cout << sum1 << ' ' << sum2 << endl;
//		cout << flag << endl;
		if (flag == 1 || sum1 < 2 && sum2 < 2)
		{
			cout << "ne\n";
		}
		else
		{
			cout << "da\n";
		}
	}	
	return 0;
}
2024/6/7 13:10
加载中...