随笔分类 -  团体程序设计天梯赛-练习集

L1-023 输出GPLT (20 point(s))
摘要:判断不成立的条件是值为 0 ,而非负也算值,所以要么把 -- 运算放在 {} 判断后运行代码里面,要么多一个 > 0 判断。 #include <bits/stdc++.h> using namespace std; int main(){ int G = 0, P = 0, L = 0, T = 阅读全文

posted @ 2021-10-06 10:15 Atl212 阅读(32) 评论(0) 推荐(0)

L1-022 奇偶分家 (10 point(s))
摘要:试着玩了下位运算求奇偶,如果为偶数那么二进制位比如 2 就有 1 0 而与 1 的二进制 0 1 取与运算的时候,得 0 。相反奇数比如 3 二进制为 1 1 & 0 1 = 0 1 。 对更大的数同样成立,所以所以可以写成 if(tmp & 1) odd++ 。 当时还想了想会不会有非奇偶的数,所 阅读全文

posted @ 2021-10-06 09:48 Atl212 阅读(104) 评论(0) 推荐(0)

L1-021 重要的话说三遍 (5 point(s))
摘要:#include <bits/stdc++.h> using namespace std; int main(){ for(int i = 0; i < 3; i++) cout << "I'm gonna WIN!" << endl; } 阅读全文

posted @ 2021-10-06 09:33 Atl212 阅读(33) 评论(0) 推荐(0)

L1-020 帅到没朋友 (20 point(s))
摘要:最开始用了 set 但最后一个测试点超时了,想了想这遍历是顺序的,不需要考虑排序,所以用了 unordered_set 就把最后一个测试点给解决了。 而想了想既然 unordered_set 都可以,那么类似的向量 vector 也应该是可以的,所以就改成向量试了试。但结果发现却超时了。 故查了查这 阅读全文

posted @ 2021-10-06 09:31 Atl212 阅读(144) 评论(0) 推荐(0)

L1-019 谁先倒 (15 point(s))
摘要:题目理解有问题,“最多能喝多少杯不倒” 说的是在这个取值内还能继续,超过才结束,当时以为到了这个界限就倒下了。 所以继 “不超过” 之后又多一个范围字眼 “最多”。 所以不是用 == 判断,而应该用 > 大于。 参考代码 #include <bits/stdc++.h> using namespac 阅读全文

posted @ 2021-10-06 09:30 Atl212 阅读(49) 评论(0) 推荐(0)

L1-018 大笨钟 (10 point(s)) (测试点四)
摘要:hh - 12 + bool(mm) 看别人代码里面发现了这个神奇的用法,bool() 意思应该是 mm 非零的时候返回 1 。 参考代码 写完的时候卡了一个测试点,想了想应该是时间边界的问题。重新看了题目,同时试了下 12:00 的时候是什么。结果果然有问题什么也没有输出。 同时根据条件 “午夜0 阅读全文

posted @ 2021-10-05 09:50 Atl212 阅读(349) 评论(0) 推荐(0)

L1-017 到底有多二 (15 point(s))
摘要:cnt 写的时候又忘记初始化了,所以又记一次,不需要 cin 输入读取的变量一概都需要初始化。 erase() 忘记怎么写了,开始还以为是 erase('-') 但报了一个异常。 所以看了别人的说明,发现 erase() 函数对 string 来说有两种使用方式,一个是传入一个指向删除元素的迭代器, 阅读全文

posted @ 2021-10-05 09:37 Atl212 阅读(33) 评论(0) 推荐(0)

L1-016 查验身份证 (15 point(s))
摘要:之前在PAT乙级也写过,这次写完后看了看,发现自己好像少考虑了一个条件 “检查前17位是否全为数字” 。当时只看到前面的条件 “并不检验前17位是否合理” ,所以就没管写出了下面这个代码。但提交后发现也是可以AC的。 稍微想了想,这应该是钻了个漏洞的,如果前十七位存在非数字,那么加权求和的时候就可能 阅读全文

posted @ 2021-10-05 06:50 Atl212 阅读(94) 评论(0) 推荐(0)

L1-015 跟奥巴马一起画方块 (15 point(s))
摘要:很神奇的字符串的初始化。 string s(n, c); 参考代码 #include <bits/stdc++.h> using namespace std; int main(){ int n; char c; cin >> n >> c; string s(n, c); for(int i = 阅读全文

posted @ 2021-10-04 22:00 Atl212 阅读(83) 评论(0) 推荐(0)

L1-014 简单题 (5 point(s))
摘要:#include <bits/stdc++.h> using namespace std; int main(){ cout << "This is a simple problem."; } 阅读全文

posted @ 2021-10-04 21:56 Atl212 阅读(22) 评论(0) 推荐(0)

L1-013 计算阶乘和 (10 point(s))
摘要:参考别人的写法发现自己写繁琐了,因为 N! 是连续递增的,所以可以用 s *= n 每次循环乘一次得到新阶乘即可,不需要每次重新循环计算阶乘。 参考代码 #include <bits/stdc++.h> using namespace std; int main(){ int N, ans = 0, 阅读全文

posted @ 2021-10-04 21:55 Atl212 阅读(48) 评论(0) 推荐(0)

L1-012 计算指数 (5 point(s))
摘要:int ans = pow(2, n); 最开始想想直接输出 pow() 函数的返回值,但发现结果都是错的,很不解,所以多声明一变量来保存答案再输出。 看了下关于 pow() 介绍,发现该函数的函数类型是 double 跟这里 %d 的结果可能是不匹配的,所以结果需要进行类型转换 (int) 。 p 阅读全文

posted @ 2021-10-04 21:47 Atl212 阅读(58) 评论(0) 推荐(0)

L1-011 A-B (20 point(s))
摘要:字符串的末尾是 string::npos 而不是类似其他容器用函数 end() 。 #include <bits/stdc++.h> using namespace std; int main(){ string A, B; getline(cin, A); getline(cin, B); for 阅读全文

posted @ 2021-10-04 21:34 Atl212 阅读(33) 评论(0) 推荐(0)

L1-010 比较大小 (10 point(s))
摘要:#include <bits/stdc++.h> using namespace std; int main(){ int a[3]; cin >> a[0] >> a[1] >> a[2]; sort(a, a + 3); cout << a[0] << "->" << a[1] << "->" 阅读全文

posted @ 2021-10-04 21:31 Atl212 阅读(47) 评论(0) 推荐(0)

L1-009 N个数求和 (20 point(s))
摘要:最大公因数。求公因数用辗转相除法,但是当时忘记部分怎么写了,所以稍微推了推写出了下面这个东西。 ll gcd(ll a, ll b){ return a % b ? gcd(b, a % b) : b; } 但写完之后发现跟辗转相除法的形式不太一样,真正的应该是这样的表示。 ll gcd(ll a, 阅读全文

posted @ 2021-10-02 17:14 Atl212 阅读(97) 评论(0) 推荐(0)

L1-008 求整数段和 (10 point(s))
摘要:设置宽度,除了 setw() 外还看到一个方法。 cout.width(); 参考代码 Cout.width()的使用 cout的格式控制 #include <bits/stdc++.h> using namespace std; int main(){ int A, B, sum = 0,num 阅读全文

posted @ 2021-10-02 16:29 Atl212 阅读(36) 评论(0) 推荐(0)

L1-007 念数字 (10 point(s))
摘要:求基除余法可能会多写一个函数,所以直接读取字符的方法比较好。 如果是读取字符串的话,需要消去开头的负号再遍历,不然会有问题。 如果不用字符串的方式也可以用读取字符的方法。这样不需要对字符串遍历,更简便。 参考代码 #include <bits/stdc++.h> using namespace st 阅读全文

posted @ 2021-09-29 13:50 Atl212 阅读(88) 评论(0) 推荐(0)

L1-006 连续因子 (20 point(s))
摘要:这题跟前面相比难度骤增,可能因为我不知道怎么分解因数,之前似乎也没写过这种分解因数的题目,质因数可能有,但这题不是质因数,所以没AC麻了。 后面用别人的测试数据才发现,自己从大到小遍历,会存在因数未能完全分解,比如输入 1260 的话,以12分代码思路只能够得到 3 20 21 的因数。但实际 20 阅读全文

posted @ 2021-09-29 13:36 Atl212 阅读(163) 评论(0) 推荐(0)

L1-005 考试座位号 (15 point(s))
摘要:因为不涉及运算,并且准考证号为 16 位大于 int 10^9 所以三个数据准考证号、试机座位号和考试座位号都可以定义 string 类型。 1041 考试座位号 (15 point(s)) 看了下以前写的,这题用 long long 是可以的,所以准考证号高位不存在 0 的情况。这种长字符串用 l 阅读全文

posted @ 2021-09-25 20:45 Atl212 阅读(207) 评论(0) 推荐(0)

L1-004 计算摄氏温度 (5 point(s))
摘要:“输出对应的摄氏温度C的整数值” 所以直接用 int 类型取整输出。 #include <bits/stdc++.h> using namespace std; int main(){ int F; cin >> F; cout << "Celsius = " << 5 * (F - 32) / 9 阅读全文

posted @ 2021-09-25 20:20 Atl212 阅读(46) 评论(0) 推荐(0)

导航