您的位置:首页 > 其它

Codeforces Round #221 (Div. 2) 解题报告

2013-12-25 01:05 357 查看
Problem A Lever

题意:大概的意思就是一个杠杆'^'表示支点,1-9表示上面的物体的重量,最后要求判断杠杆的倾斜方向。

思路:水题。先找到支点,然后遍历一遍求出左边与右边分别的重量,最后比较一下大小即可。

代码如下:

#include <stdio.h>
#include <string.h>
#define LEN 5002

int n, m, mlen[LEN][LEN], cnt[LEN][LEN];
char Map[LEN][LEN];

int max(int a, int b){return a>b?a:b;}

int main()
{
//    freopen("in.txt", "r", stdin);

while(scanf("%d%d", &n, &m)!=EOF){
getchar();
for(int i=1; i<=n; i++){
gets(Map[i]+1);
}
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
if(Map[i][j]=='1'){
mlen[j][i] = mlen[j-1][i]+1;
cnt[j][mlen[j][i]]++;
}
}
}
int ans = 0, loc;
for(int i=1; i<=m; i++){
loc = 0;
for(int j=m; j>=1; j--){
loc+=cnt[i][j];
ans = max(ans, loc*j);
}
}
printf("%d\n", ans);
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: