• BestCoder 2nd Anniversary


    http://acm.hdu.edu.cn/search.php?field=problem&key=BestCoder+2nd+Anniversary&source=1&searchmode=source

    A

    取最小的非零数,再相加

     1 // #pragma comment(linker, "/STACK:102c000000,102c000000")
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <sstream>
     6 #include <string>
     7 #include <algorithm>
     8 #include <list>
     9 #include <map>
    10 #include <vector>
    11 #include <queue>
    12 #include <stack>
    13 #include <cmath>
    14 #include <cstdlib>
    15 // #include <conio.h>
    16 using namespace std;
    17 #define clc(a,b) memset(a,b,sizeof(a))
    18 #define inf 0x3f3f3f3f
    19 #define lson l,mid,rt<<1
    20 #define rson mid+1,r,rt<<1|1
    21 const int N = 1e7+10;
    22 const int MOD = 1e9+7;
    23 #define LL long long
    24 #define mi() (l+r)>>1
    25 double const pi = acos(-1);
    26 
    27 void fre() {
    28     freopen("in.txt","r",stdin);
    29 }
    30 
    31 // inline int r() {
    32 //     int x=0,f=1;char ch=getchar();
    33 //     while(ch>'9'||ch<'0') {if(ch=='-') f=-1;ch=getchar();}
    34 //     while(ch>='0'&&ch<='9') { x=x*10+ch-'0';ch=getchar();}return x*f;
    35 // }
    36 
    37 int a[N];
    38 int main(){
    39     int T;
    40     scanf("%d",&T);
    41     while(T--){
    42         string s;
    43         cin>>s;
    44         int len=s.length();
    45         int k=0;
    46         int minn=inf;
    47         int cnt=0;
    48         for(int i=0;i<len;i++){
    49              a[k++]=s[i]-'0';
    50              if(minn>s[i]-'0'&&s[i]-'0'!=0){
    51                 minn=s[i]-'0';
    52              }
    53              if(s[i]-'0'!=0){
    54                 cnt++;
    55              }
    56         }
    57         // cout<<minn<<endl;
    58         if(cnt<2){
    59             printf("Uncertain
    ");
    60             continue;
    61         }
    62         sort(a,a+k);
    63         int pos=lower_bound(a,a+k,minn)-a;
    64         // cout<<pos<<endl;
    65         // if(pos==0)
    66         //     pos++;
    67         // cout<<k<<endl;
    68         for(int i=pos;i<k-1;i++){
    69             a[i]=a[i+1];
    70         }
    71         // cout<<a[0]<<a[1]<<endl;
    72         int b=0;
    73         k-=2;
    74         for(int i=0;i<=k;i++){
    75             a[i]=(a[i]+minn+b)%10;
    76             b=(a[i]+minn+b)/10;
    77             minn=0;
    78         }
    79         // cout<<a[0]<<a[1]<<endl;
    80         if(b){
    81             a[++k]=b;
    82         }
    83         for(int i=k;i>=0;i--){
    84             printf("%d",a[i]);
    85         }
    86         printf("
    ");
    87     }
    88     return 0;
    89 }
    View Code
  • 相关阅读:
    好代码收藏
    JVM
    关于Redis
    记录ok6410 使用ov9650摄像头的过程
    记录一下在uyuv 转 planar yuv420 的做法
    mini2440 使用的mkyaffs2image 工具的源码
    hi3516a imx178 uboot 默认启动参数
    记录ok6410 使用fast150u 无线网卡的过程 其中部分内容为转载 没有修改
    ubuntu建立tftp服务器有两种方式
    转载hi3516 sd 只读解决
  • 原文地址:https://www.cnblogs.com/ITUPC/p/5679698.html
Copyright © 2020-2023  润新知