結果
問題 | No.1384 Bishop and Rook |
ユーザー |
![]() |
提出日時 | 2021-02-14 14:04:05 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,357 ms / 2,000 ms |
コード長 | 1,825 bytes |
コンパイル時間 | 742 ms |
コンパイル使用メモリ | 75,636 KB |
最終ジャッジ日時 | 2025-01-18 20:19:06 |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 55 |
ソースコード
#include <iostream> #include <vector> using namespace std; int mp[1010][1010]; int main(){ int t; cin >> t; while(t){ t--; int i,j,n,m; cin >> n >> m; if(n==1 && m==1){ cout << 0 << endl; cout << 1 << " " << 1 << endl; }else if(n&1 || m&1){ cout << -1 << endl; }else{ vector<pair<int,int>> v; for(j=0;j<m;j+=2){ if((j/2)&1){ v.push_back({n - 2,j}); v.push_back({n - 1,j + 1}); v.push_back({n - 1,j}); v.push_back({n - 2,j + 1}); for(i=n - 3;i>0;i-=2){ v.push_back({i,j + 1}); v.push_back({i - 1,j}); v.push_back({i,j}); v.push_back({i - 1,j + 1}); } }else{ for(i=0;i<n - 2;i+=2){ v.push_back({i,j}); v.push_back({i + 1,j + 1}); v.push_back({i,j + 1}); v.push_back({i + 1,j}); } v.push_back({n - 2,j}); v.push_back({n - 1,j + 1}); v.push_back({n - 1,j}); v.push_back({n - 2,j + 1}); } } cout << v.size() - 1<< endl; for(i=0;i<v.size();i++){ cout << v[i].first + 1 << " " << v[i].second + 1 << endl; } /*for(i=0;i<v.size();i++){ mp[v[i].first][v[i].second] = i + 1; } for(i=0;i<n;i++){ for(j=0;j<m;j++){ cout << mp[i][j] << " "; } cout << endl; }*/ } } }