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

前面评论说的测试通过,但是WA

Posted by tanlan at 2018-03-07 15:53:15 on Problem 1016
// 1616.cpp : 定义控制台应用程序的入口点。
//

#include <iostream>
using namespace std;

char num[16][80];//输入数字
int index;       //压缩次数
int main()
{
	while (cin >> num[0])
	{
		if (num[0][0] == '-')
		{
			break;
		}
		bool isTag;
		for (index = 1; index < 16; index++)
		{
			int times[10] = { 0 };//数字出现次数
			isTag = false;
			int lastIndex = index - 1;
			for (int i = 0; num[lastIndex][i]; i++)
			{
				times[num[lastIndex][i] - '0']++;
			}
			//新的数字
			int newCharIndex = 0;
			for (int i = 0; i < 10; i++)
			{
				if (times[i] == 0)
				{
					continue;
				}
				else if (times[i] < 10)
				{
					num[index][newCharIndex] = times[i] + '0';
					newCharIndex++;
				}
				else
				{
					num[index][newCharIndex] = times[i] % 10 + '0';
					newCharIndex++;
					num[index][newCharIndex] = times[i] / 10 + '0';
					newCharIndex++;
				}
				num[index][newCharIndex] = i + '0';
				newCharIndex++;
			}
			num[index][newCharIndex] = '\0';

			if (index == 1)
			{
				//新的数字与原来的数字相同
				if (!strcmp(num[index], num[lastIndex]))
				{
					isTag = true;
					cout << num[0] << " is self-inventorying" << endl;
					break;
				}
			}
			else
			{
				if (!strcmp(num[index], num[lastIndex]))
				{
					isTag = true;
					cout << num[0] << " is self-inventorying after " << lastIndex << " steps" << endl;
					break;
				}
				//新的数字与第一个数字相同
				else
				{
					int i;
					for (i = index - 2; i >= 0; i--)
					{
						if (!strcmp(num[index], num[i]))
						{
							isTag = true;
							break;
						}
					}
					if (isTag)
					{
						cout << num[0] << " enters an inventory loop of length " << index - i << endl;
						break;
					}
				}
			}
		}
		if (!isTag)
		{
			cout << num[0] << " can not be classified after 15 iterations" << 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