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

给一个暴力模拟的代码。。。

Posted by liuyuhong at 2015-11-10 17:40:56 on Problem 1012
int ans[15]={-1,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};
	
以下是暴力模拟。。。答案当然是打表啦。。

#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <list>
#include <vector>
using namespace std;  
int n;
int i,j;
int k,h; 
int max(int a,int b) 
{return a<b?b:a;} 
vector <int >sb;
vector <int >::iterator it;
int main()
{
	while(cin>>k&&k)   
	{
		
		
		int line=0;
		int m;
		for (i=1;i<=20000000;i++)		//随便设置的次数
		{	
			
			line=!line;
			if (!line)
				m=i*(k+1)+1;			//只有 (k+1)的倍数加1或者0 才可能是答案
			else
				m=i*(k+1);
			
			if (line) i--;
			
			sb.clear();
			for (j=1;j<=k;j++)
				sb.push_back(1);
			for (j=1;j<=k;j++)
				sb.push_back(2);
			int kill=0;
			int p=0;
			while(1)			
			{
				p=(p+m-1)%sb.size();	//暴力模拟
				if (sb[p]==2) 
				{
					it=&sb[p];
					sb.erase(it);
					kill++;
				}
				else
					break;
				if (kill==k)break;
			} 

			if (kill==k)
			{
				printf("%d\n",m);
				break;
			}
		}
		
	}
	
	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