1303.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 37 行

CPP
37
字号
/*  This Code is Submitted by wywcgs for Problem 1303 on 2006-07-23 at 15:18:02 */ 
#include <cstdio>
#include <list>
#include <algorithm>
using namespace std;

const int CN = 1024;

char move[CN][CN<<1];

int main()
{
	int n, i;
	list<int> s;
	list<int>::iterator it;

	while(scanf("%d\n", &n) != EOF) {
		for(i = 0; i < n; i++) gets(move[i]);
		s.clear(); s.push_back(0);
		for(i = 1; i < n; i++)
			if(move[i][s.front()<<1] == '1') s.push_front(i);
			else if(move[s.back()][i<<1] == '1') s.push_back(i);
			else {
				bool ist = false;
				for(it = s.begin(); it != s.end(); it++)
					if(move[*it][i<<1] == '0' && ist) break;
					else ist = (move[*it][i<<1] != '0');
				s.insert(it, i);
			}
		printf("1\n%d\n", n);
		for(it = s.begin(); it != s.end(); it++)
			printf("%d%c", (*it)+1, (*it==s.back())?'\n':' ');
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?