Description
有N个人排成一队按顺序上车,座位在前排并且排在队伍前面的人上车后会对座位在后面并且排他在后面的人造成阻碍。现给出每个人坐在第几排,假设这辆车有100排,每一排有100个座位。定义每个人的上车困难度为比这个人先上车并且座位在其前排的人数。问N个人的上车困难度之和。
Input
第一行一个整数T(T<=100),表示有T组数据。
每组数据先输入一行一个整数N(1<=N<=100),表示人数,接下来一行输入N个不超过100的正整数,输入的第i个数Ai表示第i个上车的人的座位是第Ai排。
Output
每组数据对应一行输出,即N个人上车的困难度之和。
Sample Input
3
3
1 2 3
3
3 2 1
3
1 2 2
Sample Output
3
0
2
就一水题,就是有较多的干扰的信息要过读懂,如座位数是没用的。。。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int a[110],cnt[110];
int N,n,i,j,k;
scanf("%d",&N);
while(N--)
{
scanf("%d",&n);
k=0;
memset(cnt,0,sizeof(cnt));
for(i=0;i<n;++i)
{
scanf("%d",&a[i]);
cnt[a[i]]++;
for(j=a[i]-1;j>=0;--j)
{
k+=cnt[j];
}
}
printf("%d\n",k);
}
return 0;
}