交换数字

交换数字

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;
}
全部评论

相关推荐

07-08 13:48
门头沟学院 C++
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务