結果
問題 | 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;}*/}}}