前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day6上午解题

Day6上午解题

作者头像
attack
发布2018-04-11 15:57:33
5010
发布2018-04-11 15:57:33
举报

预计分数:100+100+30=230

实际分数:90+25+10=125

T1少判了一种情况,T2的贪心是错的,T3被卡了。。。

T1

模拟水题,注意20的可以用3个5块的找

代码语言:javascript
复制
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<queue>
 6 #include<algorithm>
 7 #define LL long long 
 8 using namespace std;
 9 const int MAXN=1e6+10;
10 const int INF=0x7fffff;
11 inline int read()
12 {
13     char c=getchar();int flag=1,x=0;
14     while(c<'0'||c>'9')    {if(c=='-')    flag=-1;c=getchar();}
15     while(c>='0'&&c<='9')     x=x*10+c-48,c=getchar();return x*flag;
16 }
17 int n;
18 int a[MAXN];
19 int now=0;
20 int mon[MAXN];
21 int main()
22 {
23 //    freopen("book.in","r",stdin);
24 //    freopen("book.out","w",stdout);
25     n=read();
26     for(int i=1;i<=n;i++)    a[i]=read();
27     for(int i=1;i<=n;i++)
28     {
29         if(a[i]==5)    mon[5]++;
30         if(a[i]==10)
31         {
32             if(mon[5]==0){printf("NO");return 0;}
33             else mon[5]--,mon[10]++;
34         }
35         if(a[i]==20)
36         {
37             if((mon[5]<1||mon[10]<1)&&(mon[5]<3))    {printf("NO");return 0;}
38             else 
39             {
40                 if(mon[10]>=1)
41                 mon[5]--,mon[10]--;
42                 else 
43                 mon[5]=mon[5]-3;
44             }
45         }
46     }
47     printf("YES");
48     return 0;
49 }
50 
51 /*
52 4
53 5 5 10 20  //YES
54 3
55 10 5 5 //NO 
56 
57 2
58 5 20//NO
59 
60 4
61 5 5 10 10 5 5 5 20//YES
62 */

T2

倒序模拟,用栈维护,裸的括号序列匹配

T3

 ||bitset优化BFS

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 预计分数:100+100+30=230
  • 实际分数:90+25+10=125
  • T1少判了一种情况,T2的贪心是错的,T3被卡了。。。
  • T1
  • T2
  • T3
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档