結果

問題 No.1880 Many Ways
ユーザー 👑 Nachia
提出日時 2022-03-18 22:07:42
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,431 bytes
コンパイル時間 966 ms
コンパイル使用メモリ 85,404 KB
最終ジャッジ日時 2025-01-28 10:24:15
ジャッジサーバーID
(参考情報)
judge1 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <iostream>
#include <vector>
#include <algorithm>
#include <atcoder/modint>
using namespace std;
using i64 = long long;
using m32 = atcoder::static_modint<998244353>;
#define rep(i,n) for(int i=0; i<(int)(n); i++)
int D = 39;
i64 judge(int N, vector<pair<int,int>> E){
vector<i64> A(N, 0);
vector<int> D(N, -1);
A[0] = 1;
vector<vector<int>> adj(N);
for(auto [u,v] : E){
u--; v--;
adj[u].push_back(v);
adj[v].push_back(u);
}
vector<int> bfs = {0};
D[0] = 0;
rep(i,bfs.size()){
int p = bfs[i];
for(int e : adj[p]){
if(D[e] == -1){
D[e] = D[p] + 1;
bfs.push_back(e);
}
if(D[e] == D[p] + 1) A[e] += A[p];
}
}
return A[N-1];
}
int main(){
i64 A; cin >> A;
vector<pair<int,int>> ans;
rep(s,2) rep(t,2) rep(i,D) ans.push_back({ 2+3*i+s, 2+3*(i+1)+t });
rep(s,2) ans.push_back({ 1, 2+s });
rep(i,D) ans.push_back({ 2+3*i+2, 2+3*(i+1)+2 });
int N = 1 + (D+1) * 3;
rep(d,D+1) if((A>>d) & 1) ans.push_back({ 2+3*d+0, 2+3*d+2 });
// cout << judge(N, ans) << endl;
cout << N << ' ' << ans.size() << '\n';
for(auto [u,v] : ans) cout << u << ' ' << v << '\n';
return 0;
}
struct ios_do_not_sync{
ios_do_not_sync(){
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
}
} ios_do_not_sync_instance;
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0