HPOJ 1703: 此题乃神题,劝你别做

1703: 此题乃神题,劝你别做

时间限制: 1 Sec   内存限制: 128 MB
提交: 155   解决: 11
[ 提交][ 状态][ 讨论版]

题目描述

声明:这道题没有涉及任何算法!给定函数f = (1) + (2) * b + (3) * c + (4) * d + (5)。

输入

输入数据有多组, 每组数据有5个整数,分别对应函数f 中(1)、(2)、(3)、(4)、(5)。

输出

输出f的表达式,具体看给出的样例输出,不要有多余的符号。

样例输入

2 3 -3 4 -5
1 2 3 -4 5
2 0 2 2 2

样例输出

2+3b-3c+4d-5
1+2b+3c-4d+5
2+2c+2d+2
 
AC-code:
#include<cstdio>
int main()
{
	char str1[100],str2[100],str3[100],str4[100],str5[100];
	while(~scanf("%s%s%s%s%s",str1,str2,str3,str4,str5))
	{
		int flag=0;
		if(str1[0]!='0')
			printf("%s",str1);
		else
			flag++;
			
			
		if(str2[0]=='-'&&str2[1]=='1'&&str2[2]==NULL)
			printf("-b");
		else if(str2[0]=='1'&&str2[1]==NULL&&flag!=1)
			printf("+b");
		else if(str2[0]=='1'&&str2[1]==NULL)
			printf("b");
		else if(str2[0]!='-'&&str2[0]!='0'&&flag!=1)
			printf("+%sb",str2);
		else if(str2[0]!='0')
			printf("%sb",str2);
		else
			flag++;
			
			
		if(str3[0]=='-'&&str3[1]=='1'&&str3[2]==NULL)
			printf("-c");
		else if(str3[0]=='1'&&str3[1]==NULL&&flag!=2)
			printf("+c");
		else if(str3[0]=='1'&&str3[1]==NULL)
			printf("c");
		else if(str3[0]!='-'&&str3[0]!='0'&&flag!=2)
			printf("+%sc",str3);
		else if(str3[0]!='0'&&str3!="1")
			printf("%sc",str3);
		else if(str3=="1")
			printf("c");
		else
			flag++;
			
			
		if(str4[0]=='-'&&str4[1]=='1'&&str4[2]==NULL)
			printf("-d");
		else if(str4[0]=='1'&&str4[1]==NULL&&flag!=3)
			printf("+d");
		else if(str4[0]=='1'&&str4[1]==NULL)
			printf("d");	
		else if(str4[0]!='-'&&str4[0]!='0'&&flag!=3)
			printf("+%sd",str4);
		else if(str4[0]!='0')
			printf("%sd",str4);
		else
			flag++;
			
			
		if(str5[0]!='-'&&flag!=4&&str5[0]!='0')
			printf("+%s",str5);
		else if(str5[0]=='-'&&str5[0]!='0')
			printf("%s",str5);
		else
			flag++;
		if(flag==5)
			printf("0");
		printf("\n");			
	}

	return 0;
}

你可能感兴趣的:(HPU)