这题没什么好说的,但是输入较特别,为此还WA了一次。。。

题目链接:

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2927

题意:

输入m个数,求两两一组的最大GCD。

分析:

对stringstream不太熟悉,直接模拟字符串的输入,但是wa了。

我觉得wa的原因是,如果一行末尾有空格的话,就不能正确输入了。。。还求指正。。。

  int a;
char c;
bool flag = true;
int cnt = 0;
while(flag|| c == ' '){
sa(a);
t[cnt++] = a;
flag = false;
scanf("%c", &c);
}

代码:

使用stringstream的正确方式。

#include<cstdio>
#include<iostream>
#include <sstream>
#include<cstring>
using namespace std;
#define sa(a) scanf("%d", &a)
const int maxn = 100 + 5;
int t[maxn];
int gcd(int a, int b)
{
return b? gcd(b, a % b) : a;
}
int main (void)
{
int n;sa(n);
getchar();
string s;
stringstream ss(s);
while(n--){
int cnt = 0;
ss.str("");
ss.clear();
getline(cin, s);
ss<<s;
while(ss>>t[cnt]) {
cnt++;
}
int ans = 0;
for(int i = 0; i < cnt; i++){
for(int j = i + 1; j < cnt; j++){
ans = max(ans, gcd(t[i], t[j]));
}
}
printf("%d\n", ans);
}
return 0;
}

注意:

  1. str() 是返回内部缓冲区的一个copy, str(“”) 是清空内部缓冲区。

有关清空stringstream

  1. 只使用ss.str(“”),可以把前面的字串清空,但是此时ss的串流已经到尾端了(eof),判定为error flag,所以根本无法写入。
  2. 只使用ss.clear(),只是清空了flag,但是前面的字符串没有清空,直接打印ss.str()的话会把之前的串也打出来。
  3. 所以清空必须是 ss.str(""); ss.clear();

UVA 11827 Maximum GCD【GCD,stringstream】的更多相关文章

  1. UVa 11461 - Square Numbers【数学,暴力】

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  2. UVA 10200 Prime Time【暴力,精度】

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  3. Find the Maximum - 题解【思维,贪心】

    题面 这是2022年ICPC昆明站的F题.在赛场上,我一开始敲了个贪心,但是出锅了,改敲树形DP,但是时间来不及了.在队友的提醒下补过了这个题,知道解法的我发现我就是个纯纯的老坛-- 原题链接在牛客网 ...

  4. Uva 10339 - Watching Watches【数论,暴力】

    题目链接:10339 - Watching Watches 题意:两个时钟,一个每天慢a秒,一个每天慢b秒,问两钟重新相遇的时刻 1圈有12 * 60 * 60秒,然后1圈 / abs(a - b), ...

  5. 【深圳,武汉】一加科技(One Plus)招聘,寻找不...

    [深圳,武汉]一加科技(One Plus)招聘,寻找不... [深圳,武汉]一加科技(One Plus)招聘,寻找不... 来自: 一加 2013-12-30 15:28:04         标题: ...

  6. 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建

    缘由 经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考 Nginx Yii2 server  ...

  7. UVA - 11827 - Maximum GCD,10200 - Prime Time (数学)

    两个暴力题.. 题目传送:11827 Maximum GCD AC代码: #include <map> #include <set> #include <cmath> ...

  8. ACM数据结构相关资料整理【未完成,待补充】

    在网上总是查不到很系统的练ACM需要学习的数据结构资料,于是参考看过的东西,自己整理了一份. 能力有限,欢迎大家指正补充. 分类主要参考<算法竞赛入门经典训练指南>(刘汝佳),山东大学数据 ...

  9. COGS 2482. Franky的胡子【二分,高精度】

    2482. Franky的胡子 ☆   输入文件:beard.in   输出文件:beard.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] Franky很苦恼他一直 ...

  10. 大牛的IT经验,方法【跟,帮】

    学习方法一:实践,应用,坚持. [swoole-韩天峰] 我最开始工作也是在2家小公司,后来加入腾讯阿里,主要原因还是我坚持学习基础知识,从而得到了这个机会.有几个方面的基础知识,我建议每一位PHP程 ...

随机推荐

  1. AJAX中文乱码解决方案

    通过AJAX获取数据中文乱码解决方案: @ResponseBody 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到 ...

  2. 获取页面URL两种方式

    以请求http://localhost:8080/doctor/demo?code=1为例 一:用java代码获取 //获取URL中的请求参数.即?后的条件 code=1 String querySt ...

  3. Node.js Addons翻译(C/C++扩展)

    PS:请先升级Node 6.2.1,Node 升级命令 npm install -g n;n stable.NOde.js扩展是一个通过C/C++编写的动态链接库,并通过Node.js的函数requi ...

  4. toplink

    TopLink,是位居第一的Java对象关系可持续性体系结构,原署WebGain公司的产品,后被Oracle收购,并重新包装为Oracle AS TopLink.TOPLink为在关系数据库表中存储 ...

  5. pip install python-igraph 报错,C core of igraph 没有安装。

    (一)问题描述 Centos7 安装python-igraph时,pip install python-igraph 报错,C core of igraph 没有安装. failure: repoda ...

  6. k8s集群部署之环境介绍与etcd数据库集群部署

    角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...

  7. linux 隐藏进程

    1.首先推荐一个后门程序https://github.com/f0rb1dd3n/Reptile 具体可以了解一下功能非常强大. 2.源码如下 root@ubuntu:/var/srt/libproc ...

  8. python基础一 day3 列表方法

    ls=['a','b','c','d','a','b','c','d']lst=['e','f','g','h']# 增加# ls.append('a') 将元素a添加至列表ls的尾部# ls.ext ...

  9. 通过java反射机制,获取对象的属性和值(包括所有继承的父类)

    java的反射机制提供了两种方法: getDeclaredFields() :该方法能获取到本类的所有属性,包括private,protected和public,但不能获取到继承的父类的属性. get ...

  10. 线程的start和run方法的区别

    回到这个问题,可以用源码的角度去回答,这样会让面试官对有更好的印象 ------>如果直接调用run方法的话,所执行的线程是main线程.调用start方法的话,会新建一个子线程,去执行run方 ...