SOSdp Diposting di 2019-10-02 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051i=0 pre=0000 nex=0001i=0 pre=0010 nex=0011i=0 pre=0100 nex=0101i=0 pre=0110 nex=0111i=0 pre=1000 nex=1001i=0 pre=1010 nex=1011i=0 pre=1100 nex=1101i=0 pre=1110 nex=1111i=1 pre=0000 nex=0010i=1 pre=0001 nex=0011i=1 pre=0100 nex=0110i=1 pre=0101 nex=0111i=1 pre=1000 nex=1010i=1 pre=1001 nex=1011i=1 pre=1100 nex=1110i=1 pre=1101 nex=1111i=2 pre=0000 nex=0100i=2 pre=0001 nex=0101i=2 pre=0010 nex=0110i=2 pre=0011 nex=0111i=2 pre=1000 nex=1100i=2 pre=1001 nex=1101i=2 pre=1010 nex=1110i=2 pre=1011 nex=1111i=3 pre=0000 nex=1000i=3 pre=0001 nex=1001i=3 pre=0010 nex=1010i=3 pre=0011 nex=1011i=3 pre=0100 nex=1100i=3 pre=0101 nex=1101i=3 pre=0110 nex=1110i=3 pre=0111 nex=1111i=0000i=0001 0000i=0010 0000i=0011 0010 0001i=0100 0000i=0101 0100 0001i=0110 0100 0010i=0111 0110 0101 0011i=1000 0000i=1001 1000 0001i=1010 1000 0010i=1011 1010 1001 0011i=1100 1000 0100i=1101 1100 1001 0101i=1110 1100 1010 0110i=1111 1110 1101 1011 0111Process returned 0 (0x0) execution time : 0.067 sPress any key to continue. 12345678910111213141516171819202122232425262728293031323334353637383940#include<bits/stdc++.h>using namespace std;const int maxn=1e6+50;typedef long long ll;const ll mod=1e9+7;char s[maxn];int dp[(1<<21)+50];bool ok[(1<<21)+50];int cal(int x){ if(x==0)return 0; return x%2+cal(x/2);}vector<int>v[maxn];int main(){ std::ios::sync_with_stdio(false); for(int i=0;i<4;i++){ for(int j=0;j<(1<<4);j++){ if((j&(1<<i))==0){ bitset<4> a(j); cout<<"i="<<i<<" pre="<<a<<" nex="; a.set(i); cout<<a.set(i)<<endl; v[j|(1<<i)].push_back(j); dp[j|(1<<i)]=max(dp[j|(1<<i)],dp[j]); } } } for(int i=0;i<(1<<4);i++){ bitset<4> a(i); cout<<"i="<<a<<" "; for(auto j:v[i]){ bitset<4> b(j); cout<<b<<" "; } cout<<endl; } return 0;}