交换数字

交换数字

https://ac.nowcoder.com/acm/contest/82401/B

交换数字

标签: 数学 结论

难度: 适中

思路:

结论题,当a+b为定值时,ab越接近,即|a-b越小,a*b越大,这题就反其道而行之,使|a-b|最大,两个数乘积就越小。

技巧:

当一个数很大时,用字符串存储转为整型时,可以边乘10,边模。

示例:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define MOD 998244353
const int N=200010;
int n;
char a[N],b[N];

int main() 
{
	cin>>n>>&a[1]>>&b[1];
	
	rep(i,1,n)
	{
		if(a[i]>b[i])
			swap(a[i],b[i]);
	}
	
	ll pora=0,porb=0;
  //处理大数
	rep(i,1,n)
	{
		pora=(pora*10+(a[i]-'0'))%MOD;
		porb=(porb*10+(b[i]-'0'))%MOD;

	}
	cout<<pora*porb%MOD;
	
	
	return 0;
}
全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
1个小白:可以考虑投一下字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务