AtCoder Grand Contest 036 – 解题报告

A – Triangle

三角形斜着放即可。

// A.cpp
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll S;

int main()
{
	scanf("%lld", &S);
	ll y = (S + int(1e9) - 1) / int(1e9), x = y * int(1e9) - S;
	printf("%d %d %d %d %lld %lld\n", 0, 0, int(1e9), 1, x, y);
	return 0;
}
继续阅读AtCoder Grand Contest 036 – 解题报告

AtCoder Grand Contest 038 – 解题报告

A – 01 Matrix

这个题还是很思博的,直接挂题解的图:

https://img.atcoder.jp/agc038/editorial.pdf
// A.cpp
#include <bits/stdc++.h>

using namespace std;

int main()
{
	int n, m, A, B;
	scanf("%d%d%d%d", &n, &m, &B, &A);
	for (int i = 1; i <= n; i++, puts(""))
		for (int j = 1; j <= m; j++)
			if ((i <= A) ^ (j <= B))
				printf("1");
			else
				printf("0");
	return 0;
}
继续阅读AtCoder Grand Contest 038 – 解题报告

「Codeforces 461E」Appleman and a Game – 题解

主要思路

首先,不考虑原问题,只考虑最优策略,显然是当前能匹配的串越长越好。所以可以考虑二分答案,算当前拼接次数下能拼出来的最长的串,再将其与 \(n\) 进行比较。

继续阅读「Codeforces 461E」Appleman and a Game – 题解