#include<bits/stdc++.h>
using namespace std;
vector<int> q;voiddfs(int n,int m){if(m ==0)return;for(int i =0; i < n/m*m; i ++){
q.push_back(m);}dfs(max(n%m, m),min(n%m, m));}intmain(){
ios::sync_with_stdio(false);
cin.tie(0);int t,n,m;
cin>>t;while(t--){
q.clear();
cin>>n>>m;dfs(max(n,m),min(m,n));int len = q.size();
cout<<len<<endl;for(int i =0; i < len; i ++)
cout<<q[i]<<" ";
cout<<endl;}return0;}
D-Fake News
题意及分析
代码
#include<bits/stdc++.h>usingnamespace std;constdouble eps =1e-6;intmain(){
ios::sync_with_stdio(false);
cin.tie(0);int t;longlong n;
cin>>t;while(t--){scanf("%lld",&n);if(n ==1|| n ==24)printf("Fake news!\n");elseprintf("Nobody knows it better than me!\n");/*if(f)
cout<<"Fake news!"<<endl;
else
cout<<"Nobody knows it better than me!"<<endl;*/}return0;}
H-Dividing
代码
#include<bits/stdc++.h>usingnamespace std;longlong n, k;voidSolve(){scanf("%lld %lld",&n,&k);longlong last =1, res = k - n;
res =(res + mod)% mod;for(longlong i =1; i <= k && i <= n; i = last +1ll){
last = n /(n / i);if(last > k){
last = k;}longlong tmp =1ll*(last - i +1)% mod *((n / i)% mod)% mod;
tmp %= mod;
res += tmp;
res %= mod;}-- n;for(longlong i =1; i <= k && i <= n; i = last +1ll){
last = n /(n / i);if(last > k){
last = k;}longlong tmp =1ll*(last - i +1)% mod *((n / i)% mod)% mod;
tmp %= mod;
res += tmp;
res %= mod;}printf("%lld\n", res);}intmain(){solve();return0;}
B-Mask Allocation题意及分析分析#include<bits/stdc++.h> using namespace std;vector<int> q;void dfs(int n, int m) { if(m == 0) return; for(int i = 0; i < n/m*m; i ++) { q.push_back(m); } dfs(max(n%m, m), min(n%m, m));} int main() { io