結果
問題 | No.466 ジオラマ |
ユーザー |
![]() |
提出日時 | 2025-06-23 12:19:33 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,076 bytes |
コンパイル時間 | 2,968 ms |
コンパイル使用メモリ | 204,236 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-06-23 12:19:42 |
合計ジャッジ時間 | 8,019 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 73 WA * 10 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define ll long long const int N=1e5+5; int a,b,c,d,n,m; pair<int,int> e[N]; signed main(){ // freopen("hometown.in","r",stdin); // freopen("hometown.out","w",stdout); cin>>a>>b>>c>>d; if(a==b&&b==c){ if(a==1){ cout<<-1; return 0; } e[++m]={0,1}; e[++m]={1,0}; for (int i=2;i<=a-1;i++) e[++m]={i-1,i}; } else if(a==c){ e[++m]={1,0}; n=1; for (int i=1;i<=a-1;i++) e[++m]={0,++n}; b-=a; for (int i=1;i<=b-1;i++) e[++m]={1,++n}; } else if(b==c){ e[++m]={0,1}; n=1; for (int i=1;i<=b-1;i++) e[++m]={1,++n}; a-=b; for (int i=1;i<=a-1;i++) e[++m]={0,++n}; } else{ int lst=0,p=0; n=1; for (int i=1;i<=a-1;i++){ e[++m]={lst,++n}; lst=n; if(a-c+1==i+1) p=lst; } lst=1; for (int i=1;i<=b-c-1;i++){ e[++m]={lst,++n}; lst=n; } e[++m]={lst,p}; } if(m>d){ cout<<-1; return 0; } n=0; for (int i=1;i<=m;i++){ n=max(n,e[i].first); n=max(n,e[i].second); } cout<<n+1<<" "<<m<<'\n'; for (int i=1;i<=m;i++){ cout<<e[i].first<<" "<<e[i].second<<'\n'; } return 0; }