如果一个词包含再另一个词的前面(前缀),是一对前缀,求一共有多少对
*解法:STL万岁
#include<string>:https://www.cnblogs.com/SZxiaochun/p/6699450.html
#include <iostream> #include <cstdio> #include <string> #include <algorithm> using namespace std; #define SZ 50010 string a[SZ]; int main() { int T; scanf("%d", &T); while(T--) { int n, ans = 0; scanf("%d", &n); for(int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); for(int i = 0; i < n - 1; i++) { for(int j = i + 1; j < n; j++) { if(a[i].size() == a[j].size()) break; if(a[i].compare(0, a[i].size(), a[j], 0, a[i].size()) == 0) ans++; } } if(ans > 11519) ans = ans % 11519; printf("%d\n", ans); } return 0; }
原文地址:https://www.cnblogs.com/pinkglightning/p/8410423.html
时间: 2024-11-02 20:07:43