是18号做的题啦,现在才把报告补上是以前不重视报告的原因吧,不过现在真的很喜欢写报告,也希望能写一些有意义的东西出来。
A - Dragons

Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Description

Kirito is stuck on a level of the MMORPG he is playing now. To move on in the game, he's got to defeat all n dragons that live on this level. Kirito and the dragons have strength, which is represented by an integer. In the duel between two opponents the duel's outcome is determined by their strength. Initially, Kirito's strength equals s.

If Kirito starts duelling with the i-th (1 ≤ i ≤ n) dragon and Kirito's strength is not greater than the dragon's strength xi, then Kirito loses the duel and dies. But if Kirito's strength is greater than the dragon's strength, then he defeats the dragon and gets a bonus strength increase by yi.

Kirito can fight the dragons in any order. Determine whether he can move on to the next level of the game, that is, defeat all dragons without a single loss.

Input

The first line contains two space-separated integers s and n (1 ≤ s ≤ 104, 1 ≤ n ≤ 103). Then n lines follow: the i-th line contains space-separated integers xi and yi (1 ≤ xi ≤ 104, 0 ≤ yi ≤ 104) — the i-th dragon's strength and the bonus for defeating it.

Output

On a single line print "YES" (without the quotes), if Kirito can move on to the next level and print "NO" (without the quotes), if he can't.

Sample Input

Input
2 2
1 99
100 0
Output
YES
Input
10 1
100 100
Output
NO

Hint

In the first sample Kirito's strength initially equals 2. As the first dragon's strength is less than 2, Kirito can fight it and defeat it. After that he gets the bonus and his strength increases to 2 + 99 = 101. Now he can defeat the second dragon and move on to the next level.

In the second sample Kirito's strength is too small to defeat the only dragon and win.

奥特曼要来打小怪兽啦~不过他需要把所有的小怪兽都打败才能通关。每个恐龙的属性有恐龙自己的能量,和打败恐龙后奥特曼能获得的能量,能通关就输出YES,否则输出NO。在这里奥特曼能获得的能量都是正的,所以这个题就简单啦,打败比自己能量少的的恐龙后获得能量再去打败其他恐龙。这题唯独值得收获的是sort函数的新用法用在结构体中超级爽啊!先把代码贴上紧接着再总结一下sort函数。

#include<iostream>
#include<algorithm>
using namespace std; struct D
{
int x;
int y;
};
bool cmp (D a,D b)
{
return a.x < b.x;
}
int main()
{
int s,n,i = ,j = ,k,e,f;
struct D a[],b[];
cin >> s>> n;
while(n--)
{
cin >> e>> f;
if(e < s)
{
a[i].x = e;
a[i].y = f;
i++;
}
if(e >= s)
{
b[j].x = e;
b[j].y = f;
j++;
}
}
sort(b,b+j,cmp);
for(k = ;k < i;k++)
s += a[k].y;
for(k = ;k < j;k++)
{
if(s > b[k].x)
s += b[k].y;
else
break;
}
if(k == j)cout <<"YES"<<endl;
else cout<< "NO"<<endl;
return ;
}

上面是我的代码不过大神的代码中cmp函数比我想的周全,先贴上来。

bool cmp(data a,data b)
{
if (a.x < b.x)
return true;
if (a.x == b.x && a.y > b.y)
return true;
return false;
}

sort函数在做题的时候经常能够用上,也很方便有用。sort函数共有3个参数,起始位置,终止位置,比较函数。起始和结束的区间是左闭右开的(这个我还真是今天才注意到)。比较函数是bool型的。字符串也能作为参数。默认的排序是升序的。下面给出几个个cmp函数以供参考。

bool cmp(int a,int b)
{
return a > b; //如果a > b 就返回true 这样就是按照降序排列
}
bool cmp(node x, node y) //参数类型为结构体
{
if(x.a != y.a) return x.a < y.a; //先按a的升序排;
if(x.b != y.b) return x.b > y.b; //如果a相等,就再按照b的降序排列
if(x.c != y.c) return x.c > y.c; //如果b也相等,就按照c的降序排列
}
B - T-primes

Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Description

We know that prime numbers are positive integers that have exactly two distinct positive divisors. Similarly, we'll call a positive integertТ-prime, if t has exactly three distinct positive divisors.

You are given an array of n positive integers. For each of them determine whether it is Т-prime or not.

Input

The first line contains a single positive integer, n (1 ≤ n ≤ 105), showing how many numbers are in the array. The next line contains nspace-separated integers xi (1 ≤ xi ≤ 1012).

Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is advised to use the cin, cout streams or the %I64dspecifier.

Output

Print n lines: the i-th line should contain "YES" (without the quotes), if number xi is Т-prime, and "NO" (without the quotes), if it isn't.

Sample Input

Input
3
4 5 6
Output
YES
NO
NO

输入一个数,检验他是不是因子有且只有3个(包括1和他本身)。想法是:检验这个数能否开根号(不能被开根号的话一定不符合要求)且开根号得到的数必须是素数。(注意判断素数的循环,容易超时)

#include<stdio.h>
#include<math.h>
int main()
{
__int64 s,m;
int prime(__int64 x);
int n;
scanf("%d",&n);
while(n--)
{
scanf("%I64d",&s);
if(s==)
{
printf("NO\n");
continue;
}
m=sqrt(s);
if((m*m)!=s)
{
printf("NO\n");
continue;
}
else
{
if(prime(m) == )
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
}
return ;
}
int prime(__int64 x)
{
int i;
for(i=;i<=sqrt(x);i++)
{
if(x%i==)
return ;
}
return ;
}

OUC_Summer Training_ DIV2_#7 718的更多相关文章

  1. OUC_Summer Training_ DIV2_#16 725

    今天做了这两道题真的好高兴啊!!我一直知道自己很渣,又贪玩不像别人那样用功,又没有别人有天赋.所以感觉在ACM也没有学到什么东西,没有多少进步.但是今天的B题告诉我,进步虽然不明显,但是只要坚持努力的 ...

  2. OUC_Summer Training_ DIV2_#13 723afternoon

    A - Shaass and Oskols Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  3. OUC_Summer Training_ DIV2_#12(DP1) 723

    这一次是做练习,主要了解了两个算法,最大子矩阵和,最长上升子序列. 先看题好啦. A - To The Max Time Limit:1000MS     Memory Limit:32768KB   ...

  4. OUC_Summer Training_ DIV2_#14 724

    又落下好多题解啊...先把今天的写上好了. A - Snow Footprints Time Limit:1000MS     Memory Limit:262144KB     64bit IO F ...

  5. OUC_Summer Training_ DIV2_#2之解题策略 715

    这是第一天的CF,是的,我拖到了现在.恩忽视掉这个细节,其实这一篇只有一道题,因为这次一共做了3道题,只对了一道就是这一道,还有一道理解了的就是第一篇博客丑数那道,还有一道因为英语实在太拙计理解错了题 ...

  6. OUC_Summer Training_ DIV2_#11 722

    企鹅很忙系列~(可惜只会做3道题T_T) A - A Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d &am ...

  7. OUC_Summer Training_ DIV2_#9 719

    其实自己只会做很简单的题,有时都不想写解题报告,觉得不值得一写,但是又想到今后也许就不会做ACM了,能留下来的东西只有解题报告了,所以要好好写,很渣的题也要写,是今后的纪念. B - B Time L ...

  8. OUC_Summer Training_ DIV2_#5

    这是做的最好的一次了一共做了4道题  嘻嘻~ A - Game Outcome Time Limit:2000MS     Memory Limit:262144KB     64bit IO For ...

  9. OUC_Summer Training_ DIV2_#4之数据结构

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26100#problem/A A - A Time Limit:1000MS     Me ...

随机推荐

  1. Introduction to Deep Learning Algorithms

    Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...

  2. 初学java4 编译器优化

    编译器自动转义 short/char/byte 在定义变量时,后面赋值小于边界值,即可自动转义 右侧值小于左侧范围,编译器直接强转 右侧值大于左侧范围,编译器报错 short a = 10+1; // ...

  3. css优先级及其对应的权重

    1.选择器的优先级 !important>内联选择器(style)>id选择器>类选择器 | 属性选择器 | 伪类选择器 > 元素选择器>通配符(*) 2.选择器的权重( ...

  4. ASP.NET---如何使用web api创建web服务

    1 首先创建asp.net web空项目,并且创建模拟数据,我在工程下面创建了一个Models文件夹,在文件夹Nodels下面创建类Product和Repository 具体如下: [Serializ ...

  5. debian设置limits.conf

    最近已经把自己的游戏框架主要功能完成得差不多了,决定将自己的开发环境从debian7升级到debian9,不然太多第三方依赖都跟不上了.debian10刚出来,MongoDB还没适配,所以暂不考虑. ...

  6. vue父组件传值和子组件触发父组件方法

    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> <scr ...

  7. Win10 通过附加进程调试时出现“此任务要求应用程序具有提升的权限”

    最近有新人在使用vs调试时出现了“此任务要求应用程序具有提升的权限”的提示,每次调试vs就会重启一次. 问到我时,我经过查了一番资料才给解决掉了. 其实,问题主要是因为直接启动vs项目时没有足够的权限 ...

  8. 【python+beautifulsoup4】Beautifulsoup4

    Beautiful soup将复杂HTML文档转换成一个复杂的属性结构,每个节点都是python对象,所有对象可归纳为4种Tag,NavigableString,BeautifulSoup,Comme ...

  9. Windows7用VirtualBox虚拟Ubuntu共享文件夹的终极方式

    在Win7用VirtualBox虚拟机安装Ubuntu后,共享文件夹再也不用手工mount了 安装增强工具包 设置共享文件夹后 VB已经自动挂载Windows文件夹到 /media/sf_*** 目录 ...

  10. String 属于基础的数据类型吗?(未完成)

    String 属于基础的数据类型吗?(未完成)