ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

题解 CF160B 【Unlucky Ticket】

2020-04-06 14:08:37  阅读:254  来源: 互联网

标签:tmp 10 NO int 题解 Unlucky Ticket 对应 s%


  1. 思路

这道题应该怎么做?

可以把输入的数字逐位拆分后存入数组,就像这样存进去:

int a[N],b[N]
tmp=n;
k=1;
while(--tmp){
	a[k]=s%10
	s/=10;
	k++;
}
tmp=n;
k=1;
while(--tmp){
	b[k]=s%10
	s/=10;
	k++;
}

当然也可以用字符串进行存储,把字符转数字即可:

for(int i=1;i<=n;i++) a[i]=s[i-1]-48;
for(int i=n+1;i<=2*n;i++) b[i-n]=s[i-1]-48;//48=='0',应该都明白这样转换
  1. 为什么需要排序(上面没有打出来)

因为要较小的数对应较小的,较大的对应较大的,有点类似于贪心的思想。

  1. 判断

有对应位置上的数相等的:直接输出 NO

如果有两个位置与其对应的数(不能是同一个位置)大小关系不相同, 输出 NO

否则就输出 YES

The End.

标签:tmp,10,NO,int,题解,Unlucky,Ticket,对应,s%
来源: https://www.cnblogs.com/UserUnknown/p/12641832.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有