A题 题意:n个格子,每个格子都有2^(n-1)个米粒,有些格子坏掉了,问从(n-k)个格子中选择一些格子能否正好凑成s。 解:二进制考虑,如果当然s的某一位是1,那么表示对应的格子应该选择,0表示不应该被选择,模拟一遍即可。 #include<bits/stdc++.h> using namespace std; typedef long long ll; set<ll>se; ll n,k,s,a[100]; void solve() { scanf("%lld%lld%lld",&n,&k,&s); ll t = 1; ...