結果
| 問題 | 
                            No.2797 Square Tile
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-06-28 23:24:02 | 
| 言語 | C++23  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,791 bytes | 
| コンパイル時間 | 2,592 ms | 
| コンパイル使用メモリ | 253,808 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-28 23:24:06 | 
| 合計ジャッジ時間 | 3,878 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 13 WA * 8 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
/*/
#include <atcoder/all>
using namespace atcoder;
#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#pragma GCC target("avx,avx2,fma")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")
//*/
#define rep(i,n) for(int i=0;i<n;i++)
#define Rep(i,a,b) for(int i=a;i<b;i++)
#define ALL(x) (x).begin(),(x).end()
#define dbgv(x); for(auto now : x) cout << now << " "; cout << endl;
//using P = pair<int,int>;
using ll = long long;
using ull = unsigned long long;
//*/
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<ll> vll;
typedef vector<int> vint;
random_device rnd;
mt19937 rng(rnd());
void solve(){
  int a,b; cin >> a >> b;
  int g = gcd(a,b);
  a /= g,b /= g;
  vector<vector<pair<int,int>>> ps(2);
  int mod = a*a + b*b;
  int mx = max(a,b),mn = a+b-mx;
  int x = 0,y = 0;
  rep(i,mod){
    ps[0].push_back(make_pair(x,y));
    x += mn;
    y += mx;
    x %= mod;
    y %= mod;
  }
  x = 0,y = mx;
  rep(i,mod){
    ps[1].push_back(make_pair(x,y));
    x += mn;
    y += mx;
    x %= mod;
    y %= mod;
  }
  if(a == b){
    rep(i,2)rep(gx,g)rep(gy,g){
      for(auto [v,u] : ps[i]){
        cout << u+gy*b << " " << v+gx*a << "\n";
      }
    }
  }else{
    if(a < b) swap(ps[0],ps[1]);
    rep(i,2)rep(gx,g)rep(gy,g){
      for(auto [v,u] : ps[i]){
        cout << u+gy*b << " " << v+gx*a << "\n";
      }
    }
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int t = 1; //cin >> t;
  rep(testcase,t) solve();
}