Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

那位1208已AC的大虾贴一下代码,小弟急坏了

Posted by anonym11 at 2004-08-24 15:35:20 on Problem 1208
In Reply To:到底怎样才行? Posted by:anonym11 at 2004-08-24 15:16:31
> 我的代码如下,display()错在哪儿了?
> #include<iostream>
> #include<cstring>
> using namespace std;
> 
> int st[26][26]= {0};
> int x[26];
> int y[26];
> int n;
> 
> inline void back(int a)
> {
> 	int i,p,c = x[a];
> 	for(i = y[a]+1 ;p = st[c][i];i ++)
> 	{	x[p] = p;y[p] = 1;st[c][i] = 0;st[p][1] = p;	}
> }
> void mvov(int a,int b)
> {
> 	back(a);
> 	st[x[a]][y[a]] = 0;
> 	for(int i = y[b] ;st[x[b]][i];i ++);
> 	x[a] = x[b];y[a] = i;	st[x[a]][i] = a;
> }
> void mvon(int a,int b)
> {
> 	back(b);
> 	mvov(a,b);
> }
> void plov(int a,int b)
> {
> 	int i,c = x[a],d = x[b],p,h;
> 	for(h = y[b];st[x[b]][h];h ++);
> 	for(i = y[a];p = st[c][i] ;i ++)
> 	{
> 		st[c][i] = 0;
> 		x[p] = d;y[p] = h++;
> 		st[x[b]][h-1] = p;
> 	}
> }
> void plon(int a,int b)
> {
> 	back(b);
> 	plov(a,b);
> }
> void display()
> {
> 	int i,j;
> 	for(i = 1;i <= n;i ++)
> 	{
> 		printf(" %d: ",i-1);
> 		if(!st[i][1])
> 			;
> 		else
> 			for(j = 1;st[i][j];j ++)
> 				printf(" %d",(st[i][j]-1));
> 			cout << endl;
> 	}
> }
> 
> int main()
> {
> 	int a,b,i;
> 	void (*f[4])(int,int);
> 	char s[10],t[10];
> 	scanf("%d",&n);
> 	for( i = 1;i <= n;i ++)
> 	{
> 		st[i][1] = i;x[i] = i;	y[i] = 1;
> 	}
> 	f[0] = mvon;f[1] = mvov;f[2] = plon;f[3] = plov;
> 	scanf("%s",s);
> 	while(s[0] != 'q')
> 	{
> 		scanf("%d%s%d",&a,t,&b);
> 		a++;b++;
> 		if(x[a] != x[b]) 
> 			f[2 * strcmp(s,"move") + strcmp(t,"onto")](a,b);
> 		scanf("%s",s);
> 	}
> 	display();
> 	return 0;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator