第三十五次CSP第一题

简单的模拟

#include<iostream>
#include<string>
using namespace std;

bool check_twice(int* num) {
	for (int i = 0;i < 64;i++)
	{
		if (num[i] >= 3)
			return false;
	}
	return true;
}
int val(string s)
{
	int zimu = 0, shuzi = 0, teshu = 0;
	int num[70] = {0};
	int len = 0;
	for (auto c : s)
	{
		len++;
		if (c >= 'A' && c <= 'Z')
		{
			num[c - 'A']++;
			zimu++;
		}
		else if (c >= 'a' && c <= 'z')
		{
			num[26 + c - 'a']++;
			zimu++;
		}
		else if (c >= '0' && c <= '9')
		{
			num[52 + c - '0']++;
			shuzi++;
		}
		else if (c == '*')
		{
			num[62]++;
			teshu++;
		}
		else if (c == '#')
		{
			num[63]++;
			teshu++;
		}

	}
	if (len >= 6)
	{
		if (zimu > 0 && teshu > 0 && shuzi > 0)
		{
			if (check_twice(num))
			{
				return 2;
			}
			return 1;
		}
		return 0;
	}
}


int main()
{
	int n;
	scanf_s("%d", &n);
	while (n--)
	{
		string s;
		cin >> s;
		cout << val(s);
	}
	return 0;

}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务