提出 #37343598
ソースコード 拡げる
// wygzgyw
#include <bits/stdc++.h>
using namespace std;
template <typename T> void read(T &t) {
t=0; char ch=getchar(); int f=1;
while (ch<'0'||ch>'9') { if (ch=='-') f=-1; ch=getchar(); }
do { (t*=10)+=ch-'0'; ch=getchar(); } while ('0'<=ch&&ch<='9'); t*=f;
}
template <typename T> void write(T t) {
if (t<0) { putchar('-'); write(-t); return; }
if (t>9) write(t/10);
putchar('0'+t%10);
}
template <typename T> void writeln(T t) { write(t); puts(""); }
#define MP make_pair
typedef long long ll;
const int maxn=(2e5)+10;
int n,m,cnt[2];
int col[maxn]; vector<int> g[maxn];
ll C2(ll x) { return x*(x-1)/2; }
ll ans;
void dfs(int u) {
cnt[col[u]-1]++;
for (int &v : g[u]) {
if (col[v]&&col[v]==col[u]) { puts("0"); exit(0); }
if (col[v]) continue;
col[v]=3-col[u];
dfs(v);
}
}
int main() {
read(n),read(m);
int x,y; for (int i=1;i<=m;i++) {
read(x),read(y);
g[x].push_back(y),g[y].push_back(x);
}
for (int i=1;i<=n;i++) if (!col[i]) {
cnt[0]=cnt[1]=0;
col[i]=1,dfs(i);
ans-=C2(cnt[0]),ans-=C2(cnt[1]);
}
ans-=m;
ans+=C2(n);
printf("%lld\n",ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Make Bipartite 2 |
| ユーザ | wygz |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 400 |
| コード長 | 1141 Byte |
| 結果 | AC |
| 実行時間 | 137 ms |
| メモリ | 24700 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example0.txt, example1.txt, example2.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, example0.txt, example1.txt, example2.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 000.txt | AC | 11 ms | 8320 KiB |
| 001.txt | AC | 7 ms | 8224 KiB |
| 002.txt | AC | 10 ms | 9004 KiB |
| 003.txt | AC | 13 ms | 8420 KiB |
| 004.txt | AC | 63 ms | 15728 KiB |
| 005.txt | AC | 133 ms | 21612 KiB |
| 006.txt | AC | 137 ms | 24700 KiB |
| 007.txt | AC | 125 ms | 24652 KiB |
| 008.txt | AC | 19 ms | 10996 KiB |
| 009.txt | AC | 20 ms | 10420 KiB |
| 010.txt | AC | 19 ms | 10312 KiB |
| 011.txt | AC | 21 ms | 9808 KiB |
| 012.txt | AC | 39 ms | 11328 KiB |
| 013.txt | AC | 35 ms | 10780 KiB |
| 014.txt | AC | 69 ms | 14256 KiB |
| 015.txt | AC | 18 ms | 9900 KiB |
| 016.txt | AC | 10 ms | 9200 KiB |
| 017.txt | AC | 13 ms | 8996 KiB |
| 018.txt | AC | 15 ms | 9152 KiB |
| 019.txt | AC | 73 ms | 13460 KiB |
| 020.txt | AC | 13 ms | 8996 KiB |
| 021.txt | AC | 25 ms | 10816 KiB |
| 022.txt | AC | 20 ms | 9080 KiB |
| 023.txt | AC | 14 ms | 9188 KiB |
| 024.txt | AC | 45 ms | 11680 KiB |
| 025.txt | AC | 17 ms | 9956 KiB |
| 026.txt | AC | 10 ms | 9140 KiB |
| 027.txt | AC | 10 ms | 9020 KiB |
| 028.txt | AC | 12 ms | 9116 KiB |
| 029.txt | AC | 45 ms | 12348 KiB |
| 030.txt | AC | 37 ms | 11760 KiB |
| 031.txt | AC | 31 ms | 11344 KiB |
| 032.txt | AC | 22 ms | 10524 KiB |
| 033.txt | AC | 12 ms | 8444 KiB |
| 034.txt | AC | 71 ms | 13760 KiB |
| 035.txt | AC | 14 ms | 9196 KiB |
| 036.txt | AC | 22 ms | 9824 KiB |
| 037.txt | AC | 12 ms | 9256 KiB |
| 038.txt | AC | 11 ms | 9004 KiB |
| 039.txt | AC | 99 ms | 16904 KiB |
| 040.txt | AC | 48 ms | 13736 KiB |
| 041.txt | AC | 22 ms | 10888 KiB |
| 042.txt | AC | 21 ms | 10384 KiB |
| 043.txt | AC | 11 ms | 8304 KiB |
| example0.txt | AC | 10 ms | 8224 KiB |
| example1.txt | AC | 10 ms | 8292 KiB |
| example2.txt | AC | 10 ms | 8252 KiB |