码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 614B(div.2) 模拟

时间:2016-01-15 23:10:23      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:

模拟乘法

有毒的一题,各种细节。。代码写得自己都不想看。。

#include"cstdio"
#include"queue"
#include"cmath"
#include"stack"
#include"iostream"
#include"algorithm"
#include"cstring"
#include"queue"
#include"map"
#include"vector"
#define ll long long
#define mems(a,b) memset(a,b,sizeof(a))

using namespace std;
const int MAXN = 100500;
const int MAXE = 200500;
const int INF = 0x3f3f3f;
char arr[MAXN],t[MAXN];

int main(){
    int n;
    scanf("%d",&n);
    int has_zero=0;
    int zero=0,mark=0;
    for(int i=0;i<n;i++){
        scanf("%s",arr);
        if(has_zero) continue;
        int len=strlen(arr);
        if(arr[0]==0){
            cout<<0;
            has_zero=1;
        }
        else{
            int one=0,flag=0;
            for(int j=0;j<len;j++){
                if((arr[j]!=0&&arr[j]!=1)||(arr[j]==1&&one>=1)){
                    flag=1;
                    break;
                }
                else if(arr[j]==1) one++;
            }
            if(flag) {
                for(int j=0;j<len;j++) t[j]=arr[j];
                mark=1;
            }
            else zero+=len-1;
        }
    }
    if(has_zero) return 0;
    if(n==1){
        cout<<arr;
        return 0;
    }

    if(!zero&&!mark) cout<<1;
    else{
        if(!mark) cout<<1;
        else cout<<t;
        for(int i=0;i<zero;i++) cout<<0;
    }
    return 0;
}

 

codeforces 614B(div.2) 模拟

标签:

原文地址:http://www.cnblogs.com/luxiaoming/p/5134541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!