码迷,mamicode.com
首页 > 其他好文 > 详细

每天水一水 Crazy Rows (2009 Round2 A) GCJ

时间:2015-04-01 17:35:46      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:acm   gcj   

#include <bits/stdc++.h>

using namespace std;
#define maxn 10000 + 10

int M[maxn][maxn];
int mark[maxn];
int n, m;

int solve()
{
     int ans = 0;
     for(int i=1; i<=n; i++)
        {
            int pos = -1;
                  for(int j=i; j<=n; j++)
                  {
                      if(mark[j] <= i)
                      {
                          pos = j;
                          break;
                      }
                  }

                  for(int k=pos; k>i; k--)
                  {
                      swap(mark[k], mark[k-1]);
                      ans++;
                  }
        }
        return ans;
}

int main()
{
    while(cin>>n)
    {
        memset(mark, 0, sizeof(mark));
        for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=n; j++)
                {
                    cin>>M[i][j];
                    if(M[i][j]) mark[i] = j;
                }
        }
        cout<<solve()<<endl;
    }
    return 0;
}
/*
3
0 0 1
1 0 0
0 1 0

4
1 1 1 0
1 1 0 0
1 1 0 0
1 0 0 0
*/

每天水一水 Crazy Rows (2009 Round2 A) GCJ

标签:acm   gcj   

原文地址:http://blog.csdn.net/dojintian/article/details/44810215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!