POJ1002_oldz的博客-程序员秘密

技术标签: c++  poj  

POJ1002 – 真·水题(个鬼)

这里吐槽一下POJ的g++,同一段代码用c++能过g++过不了

然后再吐槽一下这一题的那个No duplicates.,也不清楚到底要不要给句号(事实证明要)

然后数据里面竟然会有0开头的。。。这个wa的我一脸懵逼,最后网上找到了测试数据才发现错在哪里

注:%03d这个制表符可以右对齐然后自动补零

这题我用数组排序做的,用map做也可以,不过弱还不会用map,然后由于数比较小最大只有10000000,因此也可以开大一点的数组直接存不用排序

贴一下代码

#include <iostream>
#include <string>
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

vector <int> telephone;
string s;

void handle(string s);
bool comparison(int a, int b);
void output();
void input();

int main()
{
    input();

    sort(telephone.begin(), telephone.end(), comparison);

    output();

    return 0;
}

bool comparison(int a, int b)
{
    return (a < b);
}

void output()
{
    int t = 1;
    bool h = 0;
    telephone.push_back(-1);
    for (int i = 1; i < telephone.size(); i++) {
        if (telephone[i] == telephone[i - 1])
            t++;
        else {
            if (t > 1) {
                printf("%03d-%04d %d\n", telephone[i - 1] / 10000, telephone[i - 1] % 10000, t);
                t = 1;
                h = 1;
            }
        }
    }
    if (!h)
        cout << "No duplicates." << endl;
    telephone.pop_back();
}

void input()
{
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> s;
        handle(s);
    }
}

void handle(string s)
{
    int t = 0;
    char c;
    for (int i = 0; i < s.size(); i++) {
        c = s[i];
        if (c == '-')
            ;
        else if (c >= '0' && c <= '9')
            t = t * 10 + c - '0';
        else if (c >= 'A' && c < 'Q')
            t = t * 10 + (c - 'A') / 3 + 2;
        else if (c > 'Q' && c < 'Z')
            t = t * 10 + (c - 'A' - 1) / 3 + 2;
    }
    telephone.push_back(t);
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/afireswallow/article/details/60962022

智能推荐

BGP协议初入门_b158091053的博客-程序员秘密

1、什么是bgp? BGP称为:边界网关协议,主要是用于路由的传递与选择。BGP使用TCP作为传输层协议(端口号:179),因为使用TCP连接,所以网络的可靠性得到了巨大的保证。2、拥有IGP后,为啥还需要BGP呢? 首先,我们企业网中所用到IGP,比如:ISIS,ospf,RIP,都是能够通告网络可达性的协议,而与BGP比,他们的缺点却显而易见。  (...

Foundation - NSDictionary_Frank.Ginger的博客-程序员秘密

NSDictionary的创建NSDictionary *dict = @{ @"name":@"frank", @"age":@25, @"job":@"coder"}// dictionaryWithObjectsAndKeys类方法。使用该方法创建字典时,注意其顺序是:value、key并且要以nil结尾。NSDictionary *dict2 = [NSDictonary dictionaryWithObjectsAndKeys: @"china",

stm8 蜂鸣器BEEP_小猿猪哥的博客-程序员秘密

介绍了stm8的BEEP功能的使用和选项字节OptionByte中的ARF的设置。

标准测试函数 matlab,NSGA-Ⅱ算法Matlab实现(测试函数为ZDT1)_古不帅的纸盒子的博客-程序员秘密

function NSGAII()clc;format compact;tic;hold on%---初始化/参数设定generations=100; %迭代次数popnum=100; %种群大小(须为偶数)poplength=30; ...

为什么 Java 仍将是未来的主流语言?_过往记忆的博客-程序员秘密

关于Java语言Java是一种通用编程语言,1995年由Sun Micro-systems公司开发。尽管已经有25年的历史,但它仍然统治着整个世界。根据Stack-overflow的开发...

《算法笔记》——笔记_Derait的博客-程序员秘密

算法笔记胡凡 曾磊 主编机械工业出版社文章目录算法笔记C/C++快速入门提醒memsetsscanf与sprintf引用浮点数的比较圆周率复杂度黑盒测试入门篇(1)——入门模拟入门篇(2)——算法初步排序冒泡排序选择排序插入排序sort函数的应用排名的实现散列字符串hash初步递归分治递归全排列n皇后问题贪心简单贪心B1023 组个最小数 (20 分)区间贪心二分二分查找二分法拓展快速幂two pointers什么是two pointers归并排序快速排序其他高效技巧和算法打表活用递推随机选择算法

随便推点

JAVA的编译时错误和运行时错误_java编译时错误和运行时错误_Ning静致远的博客-程序员秘密

1. 要区分编译时错误和运行时错误,就应该先明白什么是编译?什么是运行? 首先,先看一下这张图: 编译期就是将我们写的java源代码交给编译器执行的过程,起翻译的作用,该过程主要对java源代码的语法进行检查,如果没有语法错误,就将源代码编译成字节码文件(即.class文件); 运行期则是将字节码文件(.class文件)加载到内存中交给java虚拟机执行,直到程序执行结束的过程,该过...

执行scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb命令时一直报错:..._weixin_30577801的博客-程序员秘密

Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at scri...

Android插件化_动态扩展 app_mLuoya的博客-程序员秘密

Android插件化​ 减少安装包大小,实现app功能模块化动态扩展发展历程需解决三个问题插件中代码的加载和与主工程的互相调用插件中资源的加载和与主工程的互相访问四大组件生命周期的管理框架发展的三代第一代dynamic-load-apk:使用ProxyActivity静态代理技术由ProxyActivity去控制插件中PluginActivity的生命周期缺点:插件中的acti...

install developing enviroment_天鹅梦的博客-程序员秘密

install ubuntu:*partition:1G for /boot8G for swap30G for /rest for /home*install Qt binaryif qtcreator warning permession denied:chown -R username:username ~/.config/*install G

什么是深度学习?从图灵测试谈到ChatGPT_Mr.Winter`的博客-程序员秘密

你了解深度学习发展的脉络吗?细数人工智能的里程碑事件,从图灵测试、深蓝大战国际象棋高手、阿尔法狗连续击败李世石,谈到ChatGPT的出现。人工智能还在发展,未来还将继续...

推荐文章

热门文章

相关标签