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

谁救救我下,我已经晕了POJ1059 Chutes and Ladders

Posted by ZhouDL at 2011-05-22 04:08:01
谁能给出另外的一些测试数据;我不知道错在哪啊 总是WA??
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int *ramdom=new int[1000],square[101][2]={0},player[6][2]={0},players;
	
	//ramdom用于保存随即掷出的点数;player[1][0]=56,表示玩家i在第56号格子上;player[1][1]=1,表示玩家的
	//状态,0表示正常,1表示可多转一盘,-1表示下一句停一盘;square[][]前一个下标表示格子号,[][0]表示传
	//状态,存储下一个传送的格子号;[][1]表示当前格子的turn,0正常,1可以多掷一盘,-1减一盘。
	
	for(int i=0;i<1000;i++){		//输入随机数;	
		cin>>ramdom[i];
		if (ramdom[i]==0)
			break;
	}
	players=-1;					
	while(players!=0){
		cin>>players;							//输入参赛人数;
		if(players==0)							//玩家数为0时结束所有游戏;
			break;
		for(int square1,square2;;){				//初始化各个格子deliver状态;
			cin>>square1>>square2;
			if(square1==0 && square2==0)
				break;
			else
				square[square1][0]=square2;
		}
		for(int turn=0;;){						//初始化各个格子的turn状态;
			cin>>turn;
			if(turn==0)
				break;
			if(turn<0)
				square[(int)fabs((double)turn)][1]=-1;
			else
				square[turn][1]=1;
		}
		/*if(players==1){							//玩家数唯一时直接跳回;
			cout<<players<<endl;
			continue;
		}*/

		int winner;
		for(int i=0,count=0;;i=(++i)%players){
			if(player[i][1]==-1)					//判断玩家状态;
				continue;
  oncemore:
			if((player[i][0]+=ramdom[count])>100)	//判断玩家格子数不会超过100;
				player[i][0]-=ramdom[count];

			if(square[player[i][0]][0]!=0)			//判断当前格子是否发生传送;
				player[i][0]=square[player[i][0]][0];
			if(square[player[i][0]][1]==1){			//当前格子turn=1;
				count++;
				goto oncemore;
			}
			else
				if(square[player[i][0]][1]==-1)		//当前格子turn=-1;
					player[i][1]=-1;

			if(player[i][0]==100){					//决定胜利者;
				winner=i+1;
				break;
			}
			count++;
		}
		cout<<winner<<endl;
		
	}
	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