結果
| 問題 |
No.3341 Making Beautiful Graphs
|
| コンテスト | |
| ユーザー |
AK_Mi
|
| 提出日時 | 2025-11-14 14:53:07 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,429 bytes |
| コンパイル時間 | 6,326 ms |
| コンパイル使用メモリ | 334,652 KB |
| 実行使用メモリ | 7,720 KB |
| 最終ジャッジ日時 | 2025-11-14 14:53:16 |
| 合計ジャッジ時間 | 8,277 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 WA * 46 |
ソースコード
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll = long long;
using ld = long double;
int main(){
ll n;
cin >> n;
if(n < 3)cout << -1 << '\n';
else{
cout << n * n * 2 << '\n';
vector<vector<ll>> hen(n*n,vector<ll>(4,0));
hen[0][0] = 1;
hen[0][1] = 2;
hen[0][2] = n*n-2;
hen[0][3] = n*n-1;
for(ll i = 1; i < n*n; i++){
for(ll t = 0; t < 4; t++){
hen[i][t] = hen[i-1][t] + 1;
if(hen[i][t] == n*n)hen[i][t] = 0;
}
sort(hen[i].begin(),hen[i].end());
}
vector<vector<bool>> way(n*n,vector<bool>(n*n,0));
bool ok = 1;
for(ll i = 0; i < n*n; i++){
for(ll t = 0; t < 4; t++){
if(i < hen[i][t]){
way[i][hen[i][t]] = 1;
}else{
if(way[hen[i][t]][i] == 0){
ok = 0;
break;
}
}
}
}
if(ok == 0)cout << -1 << '\n';
else{
for(ll i = 0; i < n*n; i++){
for(ll t = 0; t < 4; t++){
if(i < hen[i][t]){
cout << i+1 << " " << hen[i][t]+1 << '\n';
}
}
}
}
}
return 0;
}
AK_Mi