제출 #485538

#제출 시각아이디문제언어결과실행 시간메모리
485538SirCovidThe19thNice sequence (IZhO18_sequence)C++17
100 / 100
384 ms40236 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, ti = 0, sz, pre[1000005], vis[1000005];

void dfs(int cur){
    if (vis[cur]) return;
    vis[cur] = ++ti;
    if (cur - n >= 0) pre[cur - n] = pre[cur] + 1, dfs(cur - n); 
    if (cur + m <= sz) pre[cur + m] = pre[cur] + 1, dfs(cur + m);
}

int main(){
    int tc; cin >> tc;
    while (tc--){
        cin >> n >> m; sz = n + m - __gcd(n, m) - 1;
        ti = 0; fill(vis, vis + sz + 1, 0);

        for (int i = 0; i <= sz; i++) if (!vis[i]) pre[i] = -(++ti), dfs(i);

        cout<<sz<<endl;
        for (int i = 1; i <= sz; i++) cout<<pre[i] - pre[i - 1]<<" ";
        cout<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...