首页 > 其他 > 详细

Codeforces Round #231 (Div. 2)A, B, C, D

时间:2014-02-22 10:40:24      阅读:349      评论:0      收藏:0      [点我收藏+]

A, B ...

C

想好思路,恶搞

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n, m;
int c[3];
char s[3];
int ans[1003][1003];
void out() {
	int i, j;
	for(i = 0; i < n; i++, puts(""))
		for(j = 0; j < m; j++)
			printf("%02d ", ans[i][j]);
}
int main() {
	int i, j;
	scanf("%d%d", &n, &m);
	for(i = 0; i < n; i++)
		for(j = 0; j < m; j++) {
			scanf("%s", s);
			if(s[0] == s[1]) {
				if(s[0] == ‘1‘) c[2]++;
			} else c[1]++;
		}
	int x = 0, y = 0;
	while (c[2] > 0) {
		ans[x][y++] = 11;
		if(y == m) {
			x++;
			y = 0;
		}
		c[2]--;
	}
	int flag = 1, t = 10;
	while (c[1] > 0) {
		if(flag) {
			ans[x][y++] = t;
			if(y == m) {
				y = m - 1;
				x++;
				flag ^= 1;
			}
		} else {
			ans[x][y--] = t;
			if(y == -1) {
				y = 0;
				x++;
				flag ^= 1;
			}
		}
		if(t == 10) t = 1;
		else if(t == 1) t = 10;
		c[1]--;
	}
	out();
}


D

二分,然后枚举公差,然后O(n)判断

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int a[1003], lim, ans, d, st;
bool ok(int m) {
    int i, j;
    for(i = 0; i <= lim; i++) {
        int l = a[n - 1] - m, r = a[n - 1] + m;
        for(j = n - 2; j >= 0; j--) {
            l -= i;
            r -= i;
            l = max(l, a[j] - m);
            r = min(r, a[j] + m);
        }
        if(l <= r) {
            st = l;
            d = i;
            ans = m;
            return 1;
        }
    }
    return 0;
}
int main() {
    int i;
    scanf("%d", &n);
    for(i = 0; i < n; i++)
        scanf("%d", &a[i]);
    sort(a, a + n);
    lim = a[n - 1] - a[0];
    int l = 0, r = 30000;
    while (l < r) {
        int m = (l + r) >> 1;
        if(ok(m)) r = m;
        else l = m + 1;
    }
    printf("%d\n%d %d", ans, st, d);
    return 0;
}


Codeforces Round #231 (Div. 2)A, B, C, D

原文:http://blog.csdn.net/auto_ac/article/details/19637077

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!