zoukankan      html  css  js  c++  java
  • 题解 CF160B 【Unlucky Ticket】

    本文为UserUnknown原创

    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.

  • 相关阅读:
    502 bad gateway错误的网关
    nodejs发展
    edgejs
    websocket nodejs实例
    nodejs原码
    node案例
    node 与php整合
    node c#
    jquery
    express
  • 原文地址:https://www.cnblogs.com/UserUnknown/p/12641832.html
Copyright © 2011-2022 走看看