結果
問題 |
No.1398 調和の魔法陣 (構築)
|
ユーザー |
|
提出日時 | 2021-02-19 22:15:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,427 bytes |
コンパイル時間 | 932 ms |
コンパイル使用メモリ | 82,184 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-16 19:51:36 |
合計ジャッジ時間 | 26,937 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 4 WA * 24 |
ソースコード
#include <iostream> #include <stdio.h> #include <vector> #include <map> #include <utility> #include <list> #include <algorithm> #include <bitset> typedef long long ll; const ll INF=20000; using namespace std; ll dx[]={-1,0,-1}; ll dy[]={-1,-1,0}; int main(){ ll h,w; cin>>w>>h; ll x; cin>>x; // vector<vector<ll>> ans(h,vector<ll>(w,0)); for(ll z=1;z<=9;z++){ vector<vector<ll>> ans(h,vector<ll>(w,0)); ans[0][0]=z; for(ll i=0;i<h;i++) { for(ll j=0;j<w;j++) { ll ansb=0; for(ll k=0;k<3;k++) { ll x=i+dx[k]; ll y=j+dy[k]; if(i==0&&j==0)break; if(0<=x&&0<=y&&x<=h-1&&y<=w-1)ansb+=ans[x][y]; } if(i==0&&j==0)break; if(ansb==x) { // ans[i][j]=0; for(ll i=0;i<h;i++) { for(ll j=0;j<w;j++) { cout<<ans[i][j]; } cout<<endl; } return 0; } ans[i][j]=ansb; } } } cout<<"-1"<<endl; return 0; }