ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

(ͼÂÛËã·¨Ö®2·ÖÆ¥Åä) hdu 1281£¨ÆåÅÌÓÎÏ·£©
2015-07-20 17:23:07 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£ºËã·¨ 2·Ö Æ¥Åä hdu 1281 ÆåÅÌ ÓÎÏ·

ÌâÒ⣺ ¸øÒ»¸ön*mµÄÆåÅÌ£¬ÔÚÉÏÃæ·ÅÉϳµ£¬·ÅµÄ³µÖ®¼ä²»ÄÜÏ໥¹¥»÷(ÔÚͬһÐлòÕßͬһÁоÍÄÜÏ໥¹¥»÷)£¬²¢ÇÒÖ»ÓÐijЩµãÄܷųµ¡£ ÎÊ×î¶àÄܷŶàÉÙ³µ£¬ÆäÖÐÓжàÉÙ¸ö¸ñ×Ó±ØÐë·Å²ÅÄÜ·Å×î¶àµÄ³µ¡£

ÕâÊÇÒ»µÀºÜºÃµÄÀí½âÐÙÑÀÀûËã·¨µÄÌâÄ¿¡£ Ê×ÏÈÎÒÃÇÇó×î¶à·Å¶àÉÙ³µ£¬ÕâÊÇÒ»¸öÐÐÁÐÆ¥ÅäÎÊÌâ¡£¼ÙÉèÎÒÃÇÓÃn¸ö×ó±ßµÄµã´ú±íÐÐ £¬m¸öÓұߵĵã·ÅÔÚÓұߣ¬Èç¹ûÒ»¸ö¸ñ×Ó(x,y)Äܷųµ£¬ÄÇô½«×ó±ßµÄxºÍÓұߵÄyÁ¬½ÓÒ»Æð½¨Ò»Ìõ±ß¡£Õâ¸öÒ»¸öºÜ¾­µäµÄÄ£ÐÍ£¬¾Í²»±Ø¶àÉÙÁË¡£ÓÃÐÙÑÀÀûËã·¨ÇóÒ»´Î×î´óÆ¥Åä¡£

ºóÃæÕâÒ»Îʺܺá£Ê×ÏÈÎÒ˵˵×Á¦µÄ·½·¨¡£¼Ç¼ÏÂ×î´óÆ¥ÅäµÄÖÐµÄÆ¥Åä±ß£¬È»ºóÔÙԭͼÖÐÈ¥µôÕâÌõ±ß£¬¿´×î´óÆ¥ÅäÊÇ·ñºÍÔ­À´µÄÏàµÈ¡£ Ò»´ÎÐÙÑÀÀûµÄ¸´ÔÓ¶ÈÊÇO£¨n*m^2).

×ܹ²n´ÎÐÙÑÀÀû £¬×ܵĸ´ÔÓ¶ÈÊÇO£¨n^2*m^2£© £¬¶ÔÓÚÕâÌâ100µÄÊý¾ÝÊÇÄÜACµÄ¡£µ«ÊÇÈç¹ûÊý¾ÝÁ¿Ôö¼Ó¾ÍÒª»»¸ö·½·¨ÁË¡£ ʵ¼ÊÉÏ£¬ÔÚÇó³ö×î´óÆ¥ÅäÒԺ󣬼ÙÉè(x->y)ÊÇ×î´óÆ¥ÅäÖеÄÒ»Ìõ±ß£¬ÎÒÃÇÊ×ÏÈɾµôÕâÌõ±ß£¬²¢ÇÒʹyʧÅã¡£´ËʱΪxѰÕÒÔö¹â·£¬Èç¹ûÄÜÕÒµ½£¬ËµÃ÷ÎÒÃÇÓÃÁíÍâµÄÒ»¸öÆ¥Åä´úÌæÁËÆ¥Å䣨x->y£©,ËùÒÔ(x->y)²¢·Ç±ØÐëµÄ¡£·ñÕߣ¬£¨x->y£©ÊDZØÐëµÄ¡£ ×¢Ò⣺Èç¹û£¨x->y£©ÊDZØÐëµÄ£¬ÄÇôҪ link[y]=x ÊǵÄxÔÙ´ÎÆ¥Åäy µ½´ï×î´óÆ¥Åä¡£ ÁíÍ⣺²»¹Ü(x->)ÊDz»ÊDZØÐëµÄ£¬¶¼±ØÐ뻹ԭͼ¡£

·½·¨Ò» ±©Á¦£º

VIEW CODE

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
        
          #include
         
           #include
           #include
           
             #include
            
              #include
             
               #include
              
                using namespace std; const int mod=99999997; const double eps=1e-8; const double pi=acos(-1.0); const int inf=0x3fffffff; bool G[110][110]; int link[110]; int n,m; bool vis[110]; bool match(int x) { for(int i=1;i<=m;i++) { if(G[x][i]&&(!vis[i])) { vis[i]=1; if(link[i]==-1||match(link[i])) { link[i]=x; return 1; } } } return 0; } int hungury() { int ans=0; memset(link,-1,sizeof link); for(int i=1;i<=n;i++) { memset(vis,0,sizeof vis); if(match(i)) ans++; } return ans; } int link__[110]; int main() { int k,ca=0; while(cin>>n>>m>>k) { memset(G,0,sizeof G); while(k--) { int x,y; scanf("%d %d",&x,&y); G[x][y]=1; } int aa=hungury(); int ans=0; for(int i=1;i<=m;i++) link__[i]=link[i]; for(int i=1;i<=m;i++) { if(link__[i]+1) { int x=link__[i]; G[x][i]=0; if(hungury()!=aa) ans++; G[x][i]=1; } } printf("Board %d have %d important blanks for %d chessmen.\n",++ca,ans,aa); } return 0; } 
              
             
            
           
         
        
       
      
     
    
   
  



·½·¨2: Ò»´ÎÕÒÔö¹ã·

VIEW CODE

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
        
          #include
         
           #include
           #include
           
             #include
            
              #include
             
               #include
              
                using namespace std; const int mod=99999997; const double eps=1e-8; const double pi=acos(-1.0); const int inf=0x3fffffff; bool G[110][110]; int link[110]; int n,m; bool vis[110]; bool match(int x) { for(int i=1;i<=m;i++) { if(G[x][i]&&(!vis[i])) { vis[i]=1; if(link[i]==-1||match(link[i])) { link[i]=x; return 1; } } } return 0; } int hungury() { int ans=0; memset(link,-1,sizeof link); for(int i=1;i<=n;i++) { memset(vis,0,sizeof vis); if(match(i)) ans++; } return ans; } int main() { int k,ca=0; while(cin>>n>>m>>k) { memset(G,0,sizeof G); while(k--) { int x,y; scanf("%d %d",&x,&y); G[x][y]=1; } int aa=hungury(); int ans=0; for(int i=1;i<=m;i++) { if(link[i]+1) { int x=link[i]; G[x][i]=0; link[i]=-1; memset(vis,0,sizeof vis); if(!match(x)) { ans++; link[i]=x; } G[x][i]=1; } } printf("Board %d have %d important blanks for %d chessmen.\n",++ca,ans,aa); } return 0; } 
              
             
            
           
         
        
       
      
     
    
   
  



¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºPAT Advanced 1005 ÏÂһƪ£ºPOJ 2175 Evacuation Plan ·ÑÓÃÁ÷..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Spring Boot Java£º (2025-12-26 16:20:19)
¡¤Spring Boot¤ÇHello (2025-12-26 16:20:15)
¡¤Spring ¤Î»ù±¾¤«¤éŒ (2025-12-26 16:20:12)
¡¤C++Ä£°å (template) (2025-12-26 15:49:49)
¡¤C ÓïÑÔÖÐÄ£°åµÄ¼¸ÖÖ (2025-12-26 15:49:47)