Description
今天独立团团长教战士们抹发胶(每个人抹的发胶都有一个发胶值)。大家排成一行,从左到右依次排开,他们只能看到自己左边的人,大家都是两个肩膀扛一个脑袋的,谁也不服谁,于是他们都想知道自己左边到底有多少人的发胶值不如自己。如果不如自己的人越多,他们就越高兴,因为这样他们的发型就越不会乱啦。 现在想问问你,如果每个人都看向左边,有多少人的发胶值小于自己呢?(任意两个人的发胶值可能一样)
Input
首先输入T (T<=10),表示有T组数据;每组数据输入人数N(N<=100)和每个人的发胶值ai(0<ai<1000)。
Output
每组输出n个数字,第i个输出的数字表示第i个人左边有多少人的发胶值小于自己。 数字之间用一个空格隔开,注意最后一个数字之后不要输出多余的空格。
Analysis
暴力水题,没敲错代码或者看错题即可顺利AC
Accepted Code
/* * @Author: Gehrychiang * @LastEditors: Gehrychiang * @Website: www.yilantingfeng.site * @E-mail: gehrychiang@aliyun.com */ #include <bits/stdc++.h> using namespace std; int a[105]; int ans[105]; int main() { int t; while (cin >> t) { while (t--) { int n; cin >> n; memset(a, 0, sizeof(a)); memset(ans, 0, sizeof(ans)); for (int i = 0; i < n; i++) { cin >> a[i]; } ans[0] = 0; for (int x = 1; x < n; x++) { for (int y = 0; y < x; y++) { if (a[y] < a[x]) ans[x]++; } } for (int i = 0; i < n; i++) { cout << ans[i]; if (i != n - 1) cout << " "; else if (i == n - 1) cout << endl; } } } return 0; }