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

·BC」 Round 12

时间:2014-10-06 01:57:49      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   for   strong   

 

很久没有做BC了,这次又是悲剧,1002到死都是WA,题目意思误解了,而且最后还忽略了一个问题

就是如果len==1 && str[0] == ‘-‘ 的情况。。悲剧致死。

 

 

HDU 5058 - So easy ( 这尼玛真的so easy )

我直接用了set,然后遍历。。

后来发现,,,,集合直接相等不就完了。。。果然stl用得不熟练。。作死。

bubuko.com,布布扣
/* ***********************************************
ID      : whiteblock63
LANG    : G++
PROG    : BC #12 1001
DATE    : 2014-10-05 18:56:48
************************************************ */

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <set>
#define CLR( a, b )        memset( a, b, sizeof(a) )
using namespace std;

set<int> S;
set<int> T;
int n, x;
int main()
{
    while( ~scanf( "%d",&n) ){
        S.clear();
        T.clear();
        for( int i = 1; i <= n; ++i ){
            scanf("%d", &x);
            S.insert(x);
        }
        for( int i = 1; i <= n; ++i ){
            scanf("%d", &x);
            T.insert(x);
        }
        int flag = 1;

        set<int>::iterator it1;
        set<int>::iterator it2;
        if( S.size() == T.size() ){
            for( it1 = S.begin(), it2 = T.begin(); it1 != S.end(); it1++,it2++){
                if(*it1 != *it2){
                    flag = 0;
                    break;
                }
            }
        }
        else{
            flag = 0;
        }

        if( flag )
            puts("YES");
        else
            puts("NO");


    }

    return 0;
}
代码君
bubuko.com,布布扣
#include <cstdio>
#include <set>
using namespace std;
set<int> S, T;
int n, x;
int main(){
    while( ~scanf( "%d",&n) ){
        S.clear();
        T.clear();
        for( int i = 1; i <= n; ++i ){
            scanf("%d", &x);
            S.insert(x);
        }
        for( int i = 1; i <= n; ++i ){
            scanf("%d", &x);
            T.insert(x);
        }
        if( S == T )
            puts( "YES" );
        else
            puts( "NO" );
    }
    return 0;
}
可以再傻逼一点吗?

 

 

 

HDU 5059 - Help him ( 这尼玛真的so 坑爹)

考虑问题要全面:

1. len > 11 ,就算是合法的数,数值也大于1E9

2. len = 0 , 空串、、、

3. len = 1, 但是 str[0] = ‘-‘

4. len = 1, str[0] = 0

5. others

bubuko.com,布布扣
/* ***********************************************
ID      : whiteblock63
LANG    : G++
PROG    : BC #12 1002
DATE    : 2014-10-05 19:14:47
************************************************ */

#include <cstdio>
#include <cstring>
#define CLR( a, b )        memset( a, b, sizeof(a) )
using namespace std;
char str[101];
int n, x, l, r;

bool judge(char* s){
    int len = strlen(s);
    if( len > 11 )    return false;
    if( len == 0 )    return false;
    if( len == 1 && s[0] == - )    return false;
    if( ( s[0] < 0 || s[0] > 9 ) && s[0] != - )    return false;    
    if( s[0] == - ){
        if( s[1] == 0 )    return false;
        long long t = 0;
        for( int i = 1; i < len; ++i ){
            if( s[i] < 0 || s[i] > 9 ) return false;
            t = t*10 + s[i] - 0;
        }
        t = -t;
        if( t >= l && t <= r )
            return true;
    }else{
        if( s[0] == 0 && len > 1 )    return false;
        long long t = 0;
        for( int i = 0; i < len; ++i ){
            if( s[i] < 0 || s[i] > 9 ) return false;
            t = t*10 + s[i] - 0;
        }
        if( t >= l && t <= r )
            return true;
    } 
    return false;
}

int main()
{
    while( gets(str) ){
        scanf( "%d %d",&l, &r );
        getchar();
        if( judge(str) )     puts( "YES" );
        else                 puts( "NO" );
    }

    return 0;
}
AC代码

 

·BC」 Round 12

标签:style   blog   http   color   io   os   ar   for   strong   

原文地址:http://www.cnblogs.com/BigBallon/p/4007826.html

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