一年一度的 NOIP 结束了,选手们都交出了满意的答卷,但还是有一些迷惑行为。
- 放 弃 人
(看似写了很多,实际上什么也没写,具体见 main 函数)
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
typedef unsigned long long ullong;
constexpr ullong mod=998244353;
int marr[102];
int narr[32];
int popcnt(ullong u) {
int cnt=0;
while(u>0) {
cnt += u&1;
u>>=1;
}
return cnt;
}
ullong fast_power(int a, int exp){
int ans=1, mult=a;
while(exp>0){
if(exp&1){
ans*=mult;
ans%=mod;
}
mult*=mult;
mult%=mod;
exp>>=1;
}
return ans;
}
int n,m,k;
ullong sum=0;
int expcnt[102];
void msearch(int val, int rem, ullong num){
if(popcnt(num)>k || val>m){
return;
}
if(rem==0){
ullong add=1;
for(int i=0;i<val;i++){
cout<<"2^"<<i<<" count: "<<expcnt[i]<<endl;
add*=fast_power(marr[i], expcnt[i]);
}
sum+=add;
sum%=mod;
return;
}
for(int i=0;i<=rem;i++){
expcnt[val]=i;
msearch(val+1, rem-i, num+i*(1<<val));
}
}
int main() {
freopen("sequence.in", "r", stdin);
freopen("sequence.out", "w", stdout);
cout<<0;
return 0;
}