14pts求调
查看原帖
14pts求调
777756
UFOI楼主2023/10/9 20:38
#include<bits/stdc++.h>
using namespace std;
long long x,y,a=1,b=1,a1,a2,a3,pt;
int main(){
    cin>>x>>y;
    for(int i=0;a<=x;i++){
        if(a+pow(2,i)<=x){
            a+=pow(2,i);
            a1++;
        }
        else break;
    }
    for(int i=0;a+b<=x;i++){
        if(a+b+pow(2,i)<=x){
            b+=pow(2,i);
            a2++;
        }
        else break;
    }
    if(a<x) a+=b,pt=1;
    if(b-1) pt=1;
    while(a<x){
        a3++;
        a++;
    }
    cout<<a1+a2+a3+2+pt<<endl;
    cout<<"B C D\n";
    cout<<"B C C\n";
    for(int i=1;i<=a1;i++) cout<<"B B B\n";
    for(int i=1;i<=a2;i++) cout<<"C C C\n";
    if(pt) cout<<"B C B\n";
    for(int i=1;i<=a3;i++) cout<<"B D B\n";
    cout<<"B";
}

https://www.luogu.com.cn/record/128466494

或者证伪这个思路

2023/10/9 20:38
加载中...