1 条题解
-
0
这题做法很多,常规做法就是看输入的字符串是否是由那五个字母组成。这里提供一个不同的思路,某个序列的所有排列在排序后必然都是一样的。所以只要看输入的字符串和规定的字符串排序后是否相等即可!
ans.begin()
与ans.end()
是字符串的两个迭代器,分别表示开始的位置和结束位置的后一个位置。如果不熟悉的同学也可以把字符串存到一个字符型数组后,对字符型数组进行排序。#include <bits/stdc++.h> using namespace std; int t, n; string s; int main() { string ans = "Timur"; sort(ans.begin(), ans.end()); cin >> t; while (t--) //等价于 for(;t>0;t--) { cin >> n; cin >> s; sort(s.begin(), s.end()); if (s == ans) cout << "YES\n"; else cout << "NO\n"; } return 0; }
- 1
信息
- ID
- 1093
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 81
- 已通过
- 16
- 上传者