例6-4チェスボードUVA 11988壊れ

このサンプル項目はいくつかの方法リンクリストの使用に関し、
まず、記録時の片方向リンクリストは、ちょうど彼に続く者を検討し、それから、それを最初の数字を行う方法を
ダミーを通じて[0]第一次初期保存しますビット、およびときNEXある最後の[POS]は= 0
の数字の代わりに文字で、リストを書くときに、第二の問題として学ぶための英数字の必要性、

コードは以下の通りです

#include <bits/stdc++.h>
using namespace std;
const int MA  = 1e5 + 5;
char s[MA];
int nex[MA];
int main()
{
	while (scanf("%s",s+1) == 1)
	{
		memset(nex,0,sizeof(nex));
		int n = strlen(s+1),pos = 0,wend = 0,k = 0;
		//pos表示位置,wend表示末位对应的数字 
		for (int i = 1; i <= n; i++)
		{
			if(s[i] == '[') pos = 0;
			else if(s[i] == ']') pos = wend;
			else{
				nex[i] = nex[pos];
				nex[pos] = i;//它的下一位
				pos = i;
				if (nex[pos] == 0) wend = pos;	
			}
		}
		while(nex[k])
		{
			printf("%c",s[nex[k]]);	
			k = nex[k] ;
		}
		printf("\n"); 
	}	
} 
公開された55元の記事 ウォンの賞賛1 ビュー2640

おすすめ

転載: blog.csdn.net/qq_37548017/article/details/102805533