結果
問題 | No.1820 NandShift |
ユーザー |
![]() |
提出日時 | 2022-01-21 22:34:36 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 26 ms / 2,000 ms |
コード長 | 908 bytes |
コンパイル時間 | 3,984 ms |
コンパイル使用メモリ | 252,564 KB |
最終ジャッジ日時 | 2025-01-27 14:09:35 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 vector<int> t,xx,ii,jj; void q1(int x,int i){ t.push_back(1); xx.push_back(x); ii.push_back(i); jj.push_back(0); } void q2(int x,int i,int j){ t.push_back(2); xx.push_back(x); ii.push_back(i); jj.push_back(j); } int main(){ int n,m; cin>>n>>m; string x; cin>>x; vector<string> a(n); rep(i,n){ cin>>a[i]; } int p0 = 1000,p1 = 1005; q2(p0,p0,p0); q2(p1,p1,p0); q1(p1,p1); int ans = 0; rep(i,x.size()){ q1(ans,ans); if(x[i]=='0')continue; q2(ans,ans,p0); q2(ans,ans,p1); } cout<<xx.size()<<endl; rep(i,xx.size()){ cout<<t[i]; if(t[i]==1){ cout<<" "<<xx[i]<<" "<<ii[i]<<endl; } else{ cout<<" "<<xx[i]<<" "<<ii[i]<<' '<<jj[i]<<endl; } } return 0; }