黄振东吧 关注:26贴子:1,568
  • 13回复贴,共1


IP属地:北京来自Android客户端1楼2017-06-27 23:02回复


    IP属地:上海2楼2017-06-27 23:05
    回复


      IP属地:北京来自Android客户端3楼2017-06-27 23:10
      回复


        IP属地:上海4楼2017-06-27 23:11
        回复


          IP属地:北京来自Android客户端5楼2017-06-27 23:11
          回复


            IP属地:上海6楼2017-06-27 23:11
            回复


              IP属地:北京来自Android客户端7楼2017-06-27 23:12
              回复


                IP属地:上海8楼2017-06-27 23:12
                回复
                  接龙大成功@biggggod


                  IP属地:北京来自Android客户端9楼2017-06-27 23:12
                  回复
                    666


                    IP属地:安徽来自Android客户端10楼2017-07-05 16:14
                    回复
                      再来 狗


                      IP属地:安徽来自Android客户端12楼2017-07-14 13:40
                      回复


                        IP属地:安徽来自Android客户端13楼2017-07-22 22:30
                        回复
                          #include <cstdio>
                          #include <algorithm>
                          #include <string.h>
                          using namespace std;
                          bool b = false;
                          int visit[10000],stack,fir,sec,ans,x,y,a[10000][10000],n,m;
                          void make(int x){
                          stack++;
                          if (stack%2==0) visit [x] = 1;
                          else visit [x] = 2;
                          for (int i=1;i<=a[x][0];i++){
                          if (visit[a[x][i]]==0) {
                          make(a[x][i]);
                          if (stack%2==0) fir++;
                          else sec++;
                          }
                          else if (visit[a[x][i]]==visit[x]) b = false;
                          }
                          stack--;
                          }
                          int main(){
                          freopen("P1339.in" , "r" ,stdin);
                          freopen("P1339.out" , "w" , stdout);
                          scanf("%d%d" , &n ,&m);
                          memset(visit,0,sizeof(visit));
                          for (int i=1;i<=m;i++){
                          scanf("%d%d" , &x, &y);
                          a[x][0]++;a[x][a[x][0]] = y;
                          a[y][0]++;a[y][a[y][0]] = x;
                          }
                          /*for (int i=1;i<=n;i++){
                          for (int j=1;j<=a[i][0];j++)
                          printf("%d " , a[i][j]);
                          printf("\n");
                          }*/
                          b = true;
                          for (int i=1;i<=n;i++){
                          fir = 0 ; sec = 0; stack = 0;
                          if(visit[i]==0) make(i);
                          if(!b) {
                          printf("Impossible");
                          return 0;
                          }
                          ans+=min(fir,sec);
                          printf("%d %d\n" , fir ,sec);
                          }
                          printf("%d" , ans);
                          return 0;
                          }


                          IP属地:上海14楼2017-11-06 19:02
                          收起回复