首页 > 代码库 > 喵哈哈村的魔法考试 Round #14 (Div.2)

喵哈哈村的魔法考试 Round #14 (Div.2)

喵哈哈村的四月半活动(一)(水题)

描述

今天是四月十五日,是喵哈哈村一年一度的四月半活动,这次活动是由今日头条赞助。

今日头条的乐乐同学在广场上出了一道题,谁答对,就能获得他的祝福哦。

题目如下:

勾股定理是初中数学的重要定理。它的内容是:直角三角形中,两直角边长度的平方和等于斜边长度的平方。若边c是斜边,边a和b是直角边,则a×a+b×b=c×c。

已知一个直角三角形的两边长,求第三条边的长度。

输入

只有一行,这一行有两个用空格隔开的正整数,即已知的两条边。

100%的数据,给出的边长大于0,小于10000。

输出

有若干行,每一行为一个答案,答案保留10位小数(不够补0),注意四舍五入。另:输出的答案请从小到大排序。

样例输入1

4 5

样例输出1

3.0000000000

6.4031242374

Solve:

两条边,第三条要么是斜边要么是直角边,所以考虑a == b?然后!少用long double...我就是一直WAlong double

Code:

技术分享
 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef double D; 4 int a , b; 5 int main(int argc, char const *argv[]) 6 { 7     scanf("%d%d" , &a , &b); 8     if(a != b) 9     {10         if(a < b)11             swap(a , b);12         D c = sqrt(a * a - b * b);13         printf("%.10f\n" , c);14     }15     D c = sqrt(a * a + b * b);16     printf("%.10f\n" , c);17     return 0;18 }
View Code

喵哈哈村的四月半活动(二)(STL + 二分)

描述

今天是四月十五日,是喵哈哈村一年一度的四月半活动,这次活动是由今日头条赞助。

今日头条的乐乐同学在广场上出了一道题,谁答对,就能获得他的祝福哦。

题目如下:

乐乐是一名天文爱好者,他喜欢晚上看星星。这天,他从淘宝上买下来了一个高级望远镜。他十分开心,于是他晚上去操场上看星星。

不同的星星发出不同的光,他的望远镜可以计算出观测到的星星发出的光的数值W。乐乐当然想尽可能地多看到星星,于是他每看到一颗星星,就要看看他之前有没有看过这颗星星。但是他看的星星太多了,他根本数不过来,于是他让你帮忙。

输入

共有两行,第一行只有一个整数,为观测到的星星的数量n。第二行有n个整数,每两个整数由一个空格隔开,分别为观测到每颗星星的光的数值W1-Wn。
100%的数据,0<n≤500000;-2000000000≤W≤2000000000。

输出

只有一行,这一行共有n个数字0或1。0表示对应的星星之前没有观测到,1表示对应的星星之前已经看过了。注意:数字之间没有空格!

样例输入

5

1 5 5 4 1

样例输出1

00101

Solve:

水题,MAPT,用了set + 二分,644ms水过

Code:

技术分享
 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 int n; 5 LL p; 6 set<LL> mmp; 7 set<LL>::iterator it; 8 int main(int argc, char const *argv[]) 9 {10     scanf("%d" , &n);11     for(int i = 0 ; i < n ; ++i)12     {13         scanf("%lld" , &p);14         it = mmp.lower_bound(p);15         if(it != mmp.end() && p == *it)16             printf("1");17         else18         {19             printf("0");20             mmp.insert(p);21         }22     }23     return 0;24 }
View Code

 

喵哈哈村的魔法考试 Round #14 (Div.2)