酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

小r有n个未知量a[1]...a[n],对每个1≤i<n,她都比较了a[1]和a[i+1]并写下了一个字符c[i]∈{<,>,=},表示两个未知量之间的比较结果。具体地: 若[i]='>'$,则[i]>a[i+1]; 若[i]='<',则[i]/,a[i+1]; 否则(c[i]='=')[i]=a[i+1]。 小r称a[i]比a[j]更开心,当且仅当对任何满足上述n-1条约束的[a[1]...a[n]]∈r,都有a[i]<a[j]。请你帮她数出1≤i,j≤n且a[i]比a[j]更开心的整数数对(i, j)个数。 ## 输入格式 本题有多组数据 第一行,一个整数t,表示数据组数。对于每组数据: 第一行一个整数n。 接下来一行,一个长度为n-1的字符串c[1]c[2]...c[n-1]。 ## 输出格式 对于每组数据,输出仅一行一个整数,表示符合条件的整数数对个数。 用c++

```cpp #include <iostream> #include <string> int countHappyPairs(int n, std::string &c) { int count = 0; for (int i = 1; i < n; ++i) { for (int j = i + 1; j <= n; ++j) { bool isHappy = true; for (int k = i; k < j - 1; ++k) { if ((c[k - 1] == '>' && c[k] == '<') || (c[k - 1] == '<' && c[k] == '>')) { isHappy = false; break; } } if (isHappy) { count++; } } } return count; } int main() { int t; std::cin >> t; while (t--) { int n; std::cin >> n; std::string c; std::cin >> c; std::cout << countHappyPairs(n, c) << std::endl; } return 0; } ``` [2024-11-02 15:47:30 | AI写代码神器 | 270点数解答]

相关提问