ZOJ3864: Quiz for the EXO-L (BFS)

Source: Internet
Author: User

ZOJ3864: Quiz for the EXO-L (BFS)

Exo (Korean :??; Chinese: Cough. often stylized as EXO) is a Chinese-South Korean boy band based in Seoul, South Korea. formed by SM Entertainment in 2011, the group consists of twelve members separated into two subgroups, EXO-K and EXO-M, Ming music in Korean and Mandarin, respectively. the group officially debuted on each L 8, 2012, with Suho, Baekhyun, Chanyeol, D. o, Kai, and Sehun under the Korean subgroup while Xiumin, Luhan, Kris, Lay, Chen, and Tao are under the Mandarin group. kris filed a lawsuit against S. m. to be removed from the group, and Luhan followed suit in October 2014. the band now promotes with 10 members since mid-October 2014, which consists of 8 Korean and 2 Chinese members.

In their first album, each member of EXO has a kind of super power. for example, Tao can control time and Lay has a super power of healing. the badges are the symbols of their super powers. each member of EXO has an unique badge. the following table shows the shapes of their badges.

Baekhyun Chanyeol Chen D. O
VcnRhdGlvbg = "src =" http://www.bkjia.com/uploads/allimg/150414/040325CN-4.png "width =" 200 "/>
Kai Kris Lay Luhan
Sehun Suho Tao Xiumin

EXO's official fanclub name has been announced to be EXO-L. EXO-L is short for EXO-LOVE, L being the letter between M and K in the alphabet, signifying all the fans 'Love for both EXO-K and EXO-M of EXO, and also holds the meaning of 'exo and the fans are one 'like their team slogan' we are one.'

You shoshould help an EXO-L pass a quiz about image recognition. the quiz requires a program to recognize the badges. the input is one of the above 12 images with rotation, and the output shoshould be the owner of the badge in the image. the badge is rotated at an unknown angle. and each image is a square matrix. the badges will never touch or exceed the boundary of the image.

Since the images are large, we will compress the images. Each pixel in the image is either 1 (white) or 0 (black) after binarization. The compress method is simple:

  • Concatenate the pixels in the row first order to a string. Split the string to some runs with same characters, and two adjacent runs have different characters. Output the length of each run.

     

    For example, an image in size 6 × 6:

    111111100101100011110111101001111111
    We can compress it as the following:
    • Concatenate the pixels in the row first order, then we can get
      111111100101100011110111101001111111
      The runs are
      1111111 00 1 0 11 000 1111 0 1111 0 1 00 1111111
      So the result of compressed images is
      7 2 1 1 2 3 4 1 4 1 1 2 7
      Note that in this task the first run and the last run is always in white.

       

      Input

      There are multiple test cases. The first line of input contains an integerTIndicating the number of test cases. For each test case:

      The first line contains 2 integersNAndM.NIs the size of the square image.MIs the number of the runs in the compressed images. (100 ≤N≤ 900)

      The second line containsMPositive integers, indicating the length of the each runs in the compressed image. (The sum of the integers isN2 ).

      Output

      For each case, output the owner of the badge in one line. your output shoshould be formated as one of following words: "Suho", "Baekhyun", "Chanyeol", "D. O "," Kai "," Sehun "," Xiumin "," Luhan "," Kris "," Lay "," Chen ", and" Tao ".

      Sample Input

      2
      100 443
      1445 1 99 2 97 3 97 4 6 1 88 5 5 2 88 5 4 86 6 4 4 73 1 12 6 3 6 72 4 8 6 5 5 72 6 6 6 5 6 6 6 6 72 7 3 6 6 6 12 1 59 16 7 6 9 3 60 14 8 6 6 6 61 13 9 6 3 7 65 12 7 16 8 1 45 3 10 12 5 15 6 4 45 5 9 14 3 12 6 6 45 6 8 15 2 9 5 47 5 7 17 1 7 10 6 47 6 6 17 2 3 13 5 48 6 5 18 17 6 49 5 5 8 1 10 5 3 8 5 5 6 3 8 5 7 3 6 5 5 6 3 8 7 18 2 5 5 5 3 7 10 23 52 6 2 7 13 20 52 6 3 6 15 17 53 7 2 5 19 15 49 10 2 5 16 16 44 12 2 4 24 17 12 12 6 3 25 18 34 12 6 4 26 7 1 13 31 9 7 6 25 7 5 10 34 4 6 9 25 7 8 5 46 8 8 58 9 25 7 59 8 25 8 59 8 25 7 48 4 7 8 26 7 8 2 35 9 5 8 25 6 7 33 11 3 8 25 4 6 11 35 18 25 3 5 15 36 16 25 3 3 15 40 17 21 4 2 44 17 19 5 2 10 49 17 16 6 2 8 51 20 13 6 2 6 52 23 11 7 2 4 53 5 2 18 8 8 2 5 51 6 5 8 2 7 6 7 3 5 51 5 8 4 5 9 2 8 4 4 50 6 17 18 5 5 49 5 13 3 2 18 5 5 48 6 11 5 3 16 7 47 6 9 8 2 16 7 5 47 5 7 11 3 14 9 4 46 3 8 14 4 13 9 4 45 1 8 16 6 14 8 2 54 16 9 13 62 9 3 5 8 15 60 6 5 8 16 58 5 9 5 7 5 2 9 58 2 12 5 6 6 5 7 72 5 5 5 5 72 5 5 5 4 6 11 2 73 3 5 5 5 5 87 3 5 4 89 1 6 4 97 3 97 2 98 2 1445
      100 451
      1449 2 96 4 96 5 94 6 93 6 94 5 93 6 93 6 10 4 78 7 13 72 6 6 18 80 21 62 2 14 24 58 3 14 26 55 3 13 15 6 8 54 4 10 20 8 5 5 8 25 8 3 51 4 7 29 7 3 49 5 6 31 7 2 48 5 15 4 14 7 1 48 5 15 9 11 54 6 4 15 12 10 53 5 4 16 14 8 53 5 3 16 16 8 51 6 3 8 1 6 18 8 6 6 2 8 6 19 7 50 6 2 3 5 7 21 5 1 43 6 1 4 5 4 4 4 4 2 43 6 1 7 4 5 2 26 4 3 43 12 4 2 28 3 3 43 12 4 5 16 14 3 4 42 11 5 5 19 12 3 4 42 10 5 5 15 1 5 10 3 5 41 10 6 3 16 1 7 8 4 5 40 9 7 3 16 2 7 8 3 7 32 1 6 8 7 3 16 2 8 7 4 7 29 5 4 8 7 3 16 3 7 8 4 6 6 6 4 7 7 3 16 3 8 7 5 29 7 3 8 7 2 16 3 8 8 5 3 31 6 4 8 6 2 16 4 8 40 6 4 8 6 1 16 4 6 10 40 6 3 9 6 1 15 4 6 10 42 4 3 11 20 4 6 10 42 4 4 12 18 4 6 11 42 3 4 15 15 4 5 12 43 2 4 26 3 5 12 43 2 4 25 4 5 4 6 1 6 44 1 5 6 2 14 6 5 6 6 1 6 44 1 5 5 5 6 9 6 3 7 1 6 50 8 19 6 2 2 6 51 8 18 6 1 7 3 6 51 9 16 15 3 6 52 10 13 15 4 5 54 11 14 5 5 47 1 6 14 6 15 6 4 49 1 6 33 6 5 49 2 6 31 7 4 50 3 7 27 8 4 52 4 6 25 9 3 53 6 7 20 10 3 55 29 12 2 57 26 14 1 60 23 78 20 6 5 71 15 7 8 72 10 8 7 92 7 92 6 93 6 94 6 94 5 95 4 97 2 1448

      Sample Output
      XiuminSehun
      Hint

      The images in the sample input are visualized:

       

      Sample 1 Sample 2
      In fact, this question is not difficult, but it is difficult to understand the question box. I first thought it was a bit like the question of HDU3839. Later I tried it, the number of white blocks and the number of brown blocks after being converted to binary is nothing more than the number of maternal and child blocks in the figure above. Note that the white blocks on the outermost layer are not counted, we want to calculate the number of white blocks surrounded by black fast
      #include 
            
             #include 
             
              #include 
              
               #include 
               
                #include 
                
                 #include
                 #include 
                  
                   #include 
                   
                    #include 
                    
                     #include using namespace std;#define ls 2*i#define rs 2*i+1#define up(i,x,y) for(i=x;i<=y;i++)#define down(i,x,y) for(i=x;i>=y;i--)#define mem(a,x) memset(a,x,sizeof(a))#define w(a) while(a)#define LL long longconst double pi = acos(-1.0);#define Len 1000005#define mod 998244353struct Point{ int x,y;};int t,n,m,lx,ly,x,y;int vis[1005][1005],mat[1005][1005];int to[8][2] = {1,0,0,1,-1,0,0,-1,1,1,1,-1,-1,1,-1,-1};int bfs(int x,int y,int k){ int i,j; queue
                     
                       Q; Point a,next; a.x = x; a.y = y; vis[x][y] = 1; int cnt = 1; Q.push(a); w(!Q.empty()) { a = Q.front(); Q.pop(); up(i,0,7) { next.x = a.x+to[i][0]; next.y = a.y+to[i][1]; if(next.x>=0 && next.x
                      
                       =0 && next.y
                       
                         black,white; up(i,0,n-1) { up(j,0,n-1) { if(!vis[i][j]) { if(!mat[i][j]) white.push_back(bfs(i,j,0)); else black.push_back(bfs(i,j,1)); } } } int bcnt = black.size(),wcnt = white.size(); if(bcnt==1) { if(wcnt==1) puts("D.O"); else if(wcnt==2) puts("Chen"); } else if(bcnt==2) { if(wcnt==12) puts("Kai"); else if(wcnt==7) puts("Suho"); else if(wcnt==3) puts("Tao"); } else if(bcnt==3) { if(wcnt==0) puts("Kris"); } else if(bcnt==5) { if(wcnt==0) puts("Chanyeol"); else if(wcnt==7) puts("Luhan"); else if(wcnt==1) { sort(black.begin(),black.end()); int sum=black[0]+black[1]+black[2]+black[3]; double tem=(double)sum/black[4]; if(tem<0.4) puts("Sehun"); else puts("Xiumin"); } } else if(bcnt==6) { if(wcnt==1) puts("Lay"); } else if(bcnt==9) { if(wcnt==1) puts("Baekhyun"); } } return 0;}
                       
                      
                     
                    
                   
                  
                
               
              
             
            

       
       

       

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.