描述
为迎接祖国生日,yuyu的幼儿园举办了唱歌比赛,家长小朋友们也都一起来观看了,他们被老师安排在m行n列的小凳子上,家长为了近距离目睹自己孩子唱歌时的风采,都纷纷抢占有利的位置,可是还是有很多家长被前面的高个子挡住了视线(如果前面有人比自己高就算被挡住视线),一时间怨声四起,场内的怨声差点盖过了小朋友的歌声。现在就让你统计一下被挡住视线的人数占总人数的比例。
输入
输入数据有多组,每组的第一行为两个正整数m和n(1<=m, n<=100),接下来有m行,每行n个非负整数,每个整数如果为0表示该位置为空,否则表示该位置上家长的高度。
输入以0 0结束。
输出
每组输出一个百分比表示的小数,表示被挡住视线的人数占总人数的比例,保留1位小数。
样例输入
3 3
1 2 3
3 2 1
2 1 3
0 0
样例输出
33.3%
#include<stdio.h>
int main()
{
int n, m, i, j, k;
int a[100][100];
double d;
while(scanf("%d%d", &n, &m), n != 0 && m != 0)
{
d = double(n*m);
for(i = 0; i < n; i ++)
{
for(j = 0; j < m; j ++)
scanf("%d", &a[i][j]);
}
k = 0;
for(j = 0; j < m; j ++)
{
for(i = 0; i < n; i ++)
if(a[i][j] > a[i+1][j])
{
k ++;
}
}
printf("%.1lf\n", double(k/d));
}
return 0;
}
哇,这是个高深的算法