poj 1750

简介:

题目很绕,看懂题目给出的测试用例不难,但是注意细节就不是那么简单的事情了,特别是这类字符串处理的题目。注意题目里面有一个隐藏的问题,如果是出现多个相同的单词怎么办?

应该是这样的效果:



下面出AC的代码:

#include<stdio.h>
#include<string.h>

char lastWord[100],nowWord[100];

int main()
{
	freopen("in.txt", "r", stdin);

	int spaceNum=0,SameNum=0;
	int i;

	scanf("%s",lastWord);
	printf("%s\n",lastWord);
	while(scanf("%s",nowWord)!=EOF)
	{
		for(i=0;i<strlen(lastWord) && i<strlen(nowWord);i++)
		{
			if(lastWord[i]!=nowWord[i])
				break;
		}

		//printf("i == %d\n",i);

		if (i>SameNum)
			spaceNum++;
		else
			spaceNum=i;

		SameNum=spaceNum;

		for(i=0;i<spaceNum;i++)
			putchar(' ');

		printf("%s\n",nowWord);
		strcpy(lastWord,nowWord);
	}

	return 0;
}


相关文章
|
机器学习/深度学习
A-POJ-1321 棋盘问题
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。
940 0
POJ 1804
题目:http://poj.org/problem?id=1804 大意:给你一串数字,排序。求出最少的交换次数  \ 我用归并做的 #include #include using namespace std; int aa[500010],bb[500010]; long lon...
704 0
|
人工智能 BI
poj-3185-开关问题
描述   牛一行20他们喝的水碗。碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水)。他们希望所有20个水碗那么,因此用宽鼻子翻碗。   嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两端的情况下碗——两碗)。
815 0
|
并行计算 网络架构
poj-1005-l tanink i need a houseboat
Description Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned ...
992 0
|
机器学习/深度学习 Windows