码迷,mamicode.com
首页 > 其他好文 > 详细

HDU - 5938 Four Operations

时间:2017-10-22 20:58:36      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:type   pac   ns2   eal   代码   scan   strlen   har   case   

题意:

不想说

 

坑点;

初始答案应该设置为一个极小的负数,不能设置为0。

 

代码:

#include <bits/stdc++.h>
using namespace std;
#include<stack>
#include<cstring>
char s[30];
typedef long long LL;
int a[30];
int ii=0;
void deal(){
	scanf("%s",s);
	int len=strlen(s);
	LL zans=-1e10;
	for (int i=0;i<len;i++) a[i]=s[i]-‘0‘;
	
	
	for (int q=0; ; q++){
	LL ans,add,mins,mult,div;
	
	
	
	div=0;
	for (int i=len-1-q; i < len; i++) div = div * 10 + a[i];
	mult=a[len-2-q];
	mins=a[len-3-q];
	LL cheng=mins*mult;
	LL chu=cheng/div;
	
	
	LL add1,ans1,ans2,add2;
	add1=ans1=ans2=add2=0;
	
	
	
	
	add1=a[len-4-q];
	for (int i=0;i < len - 4 - q; i++) ans1=ans1*10+a[i];
	ans1+=add1;
	
	
	
	
	
	add2=a[0];
	for (int i=1;i<len-4-q+1;i++) ans2=ans2*10+a[i];
	ans2+=add2;
	
//	cout<<q<<" "<<ans1<<" "<<ans2<<" "<<div<<endl;
	ans2=ans2-chu;
	ans1=ans1-chu;
	
	
	if (zans<ans1) zans=ans1;
	if (zans<ans2) zans=ans2;
	if (len-4-q <= 1) break;
	
	
	}
	printf("Case #%d: %I64d\n",ii,zans);
}
int main()
{
	int t;
	scanf("%d",&t);
	while(t--){
		ii++;
		deal();
	}
    return 0;
}

  

HDU - 5938 Four Operations

标签:type   pac   ns2   eal   代码   scan   strlen   har   case   

原文地址:http://www.cnblogs.com/xfww/p/7710868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!