标签:\n scan self == 利用 contest fprintf elf class
http://codeforces.com/contest/1065/problem/B
给定问 \(N\) 和 \(M\),问 \(N\) 个点 \(M\) 条边且没有重边和自环的无向图最多、最少有多少个孤立点 。
最少的话,可以两个两个连,最大化对边的利用。
最多的话,可以一堆点尽量往完全图连,剩下的都是孤立点。
#include <bits/stdc++.h>
#ifdef LOCAL
#define debug(...) fprintf(stderr, __VA_ARGS__)
#else
#define debug(...) 0
#endif
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int, int> pii;
int rint() {
int n, c, sgn = 0;
while ((c = getchar()) < ‘-‘);
if (c == ‘-‘) n = 0, sgn = 1;
else n = c - ‘0‘;
while ((c = getchar()) >= ‘0‘) {
n = 10 * n + c - ‘0‘;
}
return sgn ? -n : n;
}
int main() {
ll n, m; // f**k myself
scanf("%lld %lld", &n, &m);
if (m == 0) {
printf("%lld %lld\n", n, n);
return 0;
}
if (n == 1) {
puts("1 1");
return 0;
}
ll mi = (2 * m >= n ? 0 : n - 2 * m);
ll ma = 2;
while (ma < n && ma * (ma - 1) < 2 * m) ma++;
assert(ma >= 2);
ma = n - ma;
printf("%lld %lld\n", mi, ma);
return 0;
}
没开 long long
就错了两次。。。也不知道该说啥了,以后不要这么迷吧。
Educational Codeforces Round #52 B. Vasya and Isolated Vertices
标签:\n scan self == 利用 contest fprintf elf class
原文地址:https://www.cnblogs.com/hfccccccccccccc/p/9777445.html