<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Jeanny
      寂兮,寥兮,獨立不改,周行而不殆
      #include<bitsstdc++.h>
      using namespace std;
      int b[] = {0, 0, 0, 0, 0, 1, 1, 1, 0}, vis[300][300][3];
      /*
        8 7 6 5 4 3 2 1
        c p f m b b g g
        1 1 1 1 1 1 1 1
      & 1 0 
      -----------------
      &     1 0     1
      &     1 0       1
      &     1 0     1 1
      &     0 1 1
      &     0 1 0 1
            0 1 1 1
      
      */
      int chk(int ls){
                  // if(ls & 11000000 == 10000000) if(ls & 00111111 > 0) 犯人在警察不在且還有其他人
          if((ls & 192) == 128 && (ls & 63) > 0) return 0; 
                 // if(ls & 110011  -  100011) //爸爸在媽媽不在,女兒在
          if((ls & 51) >= 33 && (ls & 51) <= 35) return 0;
                  // if(ls & 111100 > 011100)//媽媽在爸爸不在,兒子在
          if((ls & 60) == 28 || (ls & 60) == 24 || (ls & 60) == 20) return 0;
          return 1;
      }
      int ans = INT_MAX, s[3],go[105][3],bk[105][3],lb[105][3],lg[105][3],rid[105], id[105];
      void print(int x){
          int s[15], t = 0;
          memset(s, 0, sizeof s);
          while(x){
              s[++t] = (x&1);
              x >>= 1;
          }
          for(int i = 8; i >= 1; i--)
              cout<<s[i];
      }
      void dfs(int t, int ls, int rs, int r, int peo){//11101100
          // cout<<endl;
          // cout<<"ls,rs: "<<ls<<" "<<rs<<endl;
          // if(t >= 11) return; 
           int s[3] = {ls, rs};//s[0] = ls, s[1] = rs;
          // if(chk(ls) == 0 || chk(rs) == 0) return;
          // cout<<"t1: "<<t<<endl;
          // cout<<ls<<" ";print(ls);cout<<" , "; cout<<rs<<" ";print(rs);cout<<endl;
         
          // cout<<"ls, rs : "<<ls<<" "<<rs<<endl;
          // cout<<"rrrrrrr: "<<r<<" ,t: "<<t<<" "<<endl;
          if(ls == 0 && rs == 255){
              if(t < ans){
                  ans = t;
                  for(int i = 1; i <= t; i++){
                      id[i] = rid[i], lg[i][1] = go[i][1], lg[i][2] = go[i][2], lb[i][1] = bk[i][1], lb[i][2] = bk[i][2];
                  }   
              }
              return;
          //    ans = min(ans, t);
             
          }
          // cout<<"r:"<<r<<endl;
          if(r == 1)
              for(int i = 1; i <= 8; i++){  
                  if(b[i] == 0) continue;//成年人非犯人可以過河
                  if((1 << (i - 1) & s[r]) == 0) continue;//i這個人在   
                  if(chk(s[r] & ~(1 <<(i-1))) && chk(s[r^1] | (1 <<(i-1)))) {
                      // cout<<"回—i: "<<i<<" "<<r<<endl;
                      // cout<<endl;
                      //回來之后該去右邊了
                      // cout<<(s[r^1] | (1 <<(i-1)))<<" "<<(s[r] & ~(1 <<(i-1)))<<" "<<vis[s[r^1] | (1 <<(i-1))][s[r] & ~(1 <<(i-1))][r^1]<<endl;
                      if(vis[s[r^1] | (1 <<(i-1))][s[r] & ~(1 <<(i-1))][r^1] == 1) continue;
                      vis[s[r^1] | (1 <<(i-1))][s[r] & ~(1 <<(i-1))][r^1] = 1;
                      if(peo == i) continue;
                      rid[t+1] = r;
                      bk[t+1][1] = i; bk[t+1][2] = 0;
                      dfs(t+1, s[r^1] | (1 <<(i-1)), s[r] & ~(1 <<(i-1)),  r^1, i);
                      vis[s[r^1] | (1 <<(i-1))][s[r] & ~(1 <<(i-1))][r^1] = 0;
                  }
              }
          for(int i = 1; i < 8; i++){//0 1 1 1 1 1 1 1
              if(((1 << (i - 1)) & s[r]) == 0) continue;//i這個人在
              for(int j = i+1; j <= 8; j++){
                  if((1 << (j - 1) & s[r]) == 0) continue;
                  if(peo == i*10+j) continue;
                  // cout<<ls<<" ";print(ls);cout<<" , "; cout<<rs<<" ";print(rs);cout<<endl;
                  if(b[i] == 0 && b[j] == 0) continue;
                  // cout<<i<<"  ___ "<<j<<endl;
                  // cout<<chk(s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))) <<endl;
                  // cout<<chk(s[r^1] | (1 <<(i-1)) | (1 <<(j-1)))<<endl;
                  // cout<<"r: "<<r<<endl;
                  //不是小孩和犯人
                  // cout<<"1,i,j: "<<i<<" "<<j<<endl;
                  if(chk(s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))) && chk(s[r^1] | (1 <<(i-1)) | (1 <<(j-1)))) {
                      // cout<<i<<"  ___ "<<j<<endl;
                      // cout<<"peo: "<<peo<<endl;
                      // cout<<"tt,r:"<<t<<" "<<r<<endl;
                      // print(s[r^1]);cout<<" ";print(s[r]);cout<<endl;
                      // print(ls);cout<<" ";print(rs); cout<<endl;
                      // cout<<"r_change:"<<r<<endl;
                      if(r == 0){
                          // cout<<"ppp : "<<(s[r] & ~(1 <<(i-1)) & ~(1 << (j-1)))<<" "<<(s[r^1] | (1 <<(i-1)) | (1 <<(j-1)))<<endl;
                          if(vis[s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][ s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][r^1] == 1) continue;
                          vis[s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][ s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][r^1] = 1;
                          if(peo == i*10+j) continue;
                          rid[t+1] = r;
                          go[t+1][1] = i, go[t+1][2] = j; 
                          dfs(t+1, s[r] & ~(1 <<(i-1)) & ~(1 << (j-1)),  s[r^1] | (1 <<(i-1)) | (1 <<(j-1)), r^1, i*10+j);
                          vis[s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][ s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][r^1] = 0;
                          // cout<<endl;
                      } 
                      else if(r == 1){
                          if( vis[s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][ s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][r^1] == 1) continue;
                          vis[s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][ s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][r^1] = 1;
                          if(peo == i*10+j) continue;
                          rid[t+1] = r;
                          bk[t+1][1] = i, bk[t+1][2] = j;
                          dfs(t+1, s[r^1] | (1 <<(i-1)) | (1 <<(j-1)),  s[r] & ~(1 <<(i-1)) & ~(1 << (j-1)),  r^1 , i*10+j);
                          vis[s[r^1] | (1 <<(i-1)) | (1 <<(j-1))][ s[r] & ~(1 <<(i-1)) & ~(1 << (j-1))][r^1] = 0;
                      }        
                  }
              }
          }
      }
      int main(){
          dfs(0,255,0,0,0);
          for(int i = 1; i <= ans; i++){
              if(id[i] == 0)
                  cout<<"qu: "<<lg[i][1]<<" "<<lg[i][2]<<endl;
              else
                  cout<<"hui: "<<lb[i][1]<<" "<<lb[i][2]<<endl;
          }
          cout<<ans<<endl;
          return 0;
      }
      
      posted on 2025-03-16 12:32  Jeanny  閱讀(12)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产仑乱无码内谢| 国产精品免费久久久免费| 四虎国产精品永久入口| 国产揄拍国产精品| 亚洲精品动漫免费二区| 高清精品一区二区三区| 国产91丝袜在线播放动漫| 国产精品人成在线观看免费| 亚洲免费人成网站在线观看| 深夜精品免费在线观看| 91老肥熟女九色老女人| 三上悠亚日韩精品二区| 于田县| 久久亚洲精品国产精品 | 最新国产精品亚洲| 色狠狠一区二区三区香蕉| 成人自拍小视频在线观看| 天堂在线最新版av观看| 粉嫩小泬无遮挡久久久久久| 日本人妻巨大乳挤奶水免费| 亚洲第一二三区日韩国产| 日日噜噜夜夜狠狠久久无码区| 国产线播放免费人成视频播放| 人人爽人人爽人人片av东京热 | 久久se精品一区精品二区国产| 激情97综合亚洲色婷婷五| 高淳县| 国产精品污双胞胎在线观看| 国产精品午夜福利精品| 国产欧美另类久久久精品不卡| 国内精品视频一区二区三区八戒 | 末成年娇小性色xxxxx| 国内自拍视频在线一区| 中文字幕av一区二区| 波多野结衣免费一区视频| 亚洲日本va午夜中文字幕久久 | 成人区人妻精品一区二区| 在国产线视频A在线视频| 92久久精品一区二区| 日本一本无道码日韩精品| av在线播放观看国产|