博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019CCSU第二次校赛部分题解(A,B,E,G)
阅读量:7190 次
发布时间:2019-06-29

本文共 3938 字,大约阅读时间需要 13 分钟。

A

签到题,考虑到数据范围很小直接枚举1,2,3分别取多少个就做完了

1 #define IO std::ios::sync_with_stdio(false); 2 #define bug(x) cout<
<<" "<
4 #define itor ::iterator 5 using namespace std; 6 #define pb push_back 7 typedef long long ll; 8 typedef double db; 9 const int N=1e6+10;10 int T,n,m,kase;11 int a[10],vis[100];12 int main(){13 scanf("%d",&T);14 while(T--){15 scanf("%d%d",&kase,&n);16 for(int i=1;i<=3;i++)a[i]=0;17 for(int i=1;i<=10;i++){18 int x;19 scanf("%d",&x);20 a[x]++;21 }22 int flag=0;23 for(int i=0;i<=a[1];i++){24 for(int j=0;j<=a[2];j++){25 for(int k=0;k<=a[3];k++){26 int res=i+j*2+k*3;27 if(res==n){28 flag=1;29 break;30 }31 }32 }33 }34 printf("%d ",kase);35 if(flag)printf("YES\n");36 else printf("NO\n");37 }38 }

B

首先对于这种很有可能是找规律的题,我们可以不去想dp啊

遇事不对先打表!

1 #define IO std::ios::sync_with_stdio(false); 2 #define bug(x) cout<
<<" "<
4 #define itor ::iterator 5 using namespace std; 6 #define pb push_back 7 typedef long long ll; 8 typedef double db; 9 const int N=1e6+10;10 int vis[100][2],k;11 int ans=0;12 int check(int x,int y){13 if(x<1||y<1||y>2)return 0;14 return 1;15 }16 int dx[10]={
0,0,1,-1};17 int dy[10]={
1,-1,0,0};18 void dfs(int x,int y,int h){19 if(h==k){20 ans++;21 return;22 }23 for(int i=0;i<4;i++){24 int x1=x+dx[i];25 int y1=y+dy[i];26 if(check(x1,y1)&&!vis[x1][y1]){27 vis[x1][y1]=1;28 dfs(x1,y1,h+1);29 vis[x1][y1]=0;30 }31 }32 }33 int main(){34 for(int i=1;i<=20;i++){35 memset(vis,0,sizeof(vis));36 ans=0;37 k=i;38 vis[1][1]=1;39 dfs(1,1,0);40 printf("i=%d: %d\n",i,ans);41 }42 }

dfs打表发现答案跟是前两项之和然后和奇偶性也有关,

然后这个题就很水了。。。

#define IO std::ios::sync_with_stdio(false);#define bug(x) cout<
<<" "<
#define itor ::iteratorusing namespace std;#define pb push_backtypedef long long ll;typedef double db;const int N=1e6+10;int T,k,n,mod=1e4+7;int a[10005];void init(){ a[1]=2,a[2]=3; for(int i=3;i<=1000;i++){ if(i%2){ a[i]=(a[i-1]+a[i-2]+1)%mod; } else a[i]=(a[i-1]+a[i-2])%mod; }}int main(){ init(); scanf("%d",&T); while(T--){ scanf("%d%d",&k,&n); printf("%d %d\n",k,a[n]); }}

E

有点恶心的题。。竟然没A出来

显然我们可以枚举正确时间,然后再拿时钟时间和误差时间去配对

配对我们可以排序然后一直扫一遍,注意输入输出的各种细节即可

#define IO std::ios::sync_with_stdio(false);#define bug(x) cout<
<<" "<
#define itor ::iteratorusing namespace std;#define pb push_backtypedef long long ll;typedef double db;const int N=1e3+10;int T,n,m,kase;int mod=720;int a[20],b[20],vis[20],d[20];char s[100];int main(){ scanf("%d",&T); while(T--){ scanf("%d%d",&kase,&n); for(int i=1;i<=n;i++){ int x,y; scanf("%d:%d",&x,&y); x%=12; x=x*60+y; a[i]=x; } for(int i=1;i<=n;i++){ scanf("%s",s); int len=strlen(s); int k=0; if(s[0]=='+')k++; int x=0,y=0,id; for(int j=1;;j++){ if(s[j]==':'){ id=j; break; } x=x*10+s[j]-48; } x%=12; for(int j=id+1;j
1)printf("%d\n",ans); else if(ans==0)printf("none\n"); else{ int x=t/60,y=t%60; if(x==0)printf("12:%02d\n",y); else printf("%d:%02d\n",x,y); } }}

G

这题不会写,看网友大佬题解看懂的

传送门:

转载于:https://www.cnblogs.com/ccsu-kid/p/10585393.html

你可能感兴趣的文章
Session704: Core ML 3 Framework 观后小结
查看>>
springmvc freemarker 页面访问静态类的解决方法
查看>>
Oracle 官方文档 结构说明(教你如何快速从官方文档中获取需要的知识)
查看>>
jQuery
查看>>
mysql 增删改查最基本用法小结
查看>>
屏蔽右键
查看>>
数值优化(三)
查看>>
连接池
查看>>
Retrofit 2.0使用
查看>>
win8 解析json数据模板 XMl解析数据
查看>>
Android原生代码与html5交互
查看>>
hibernate.cfg.xml配置
查看>>
将零散文件使用ICSharpCode.SharpZipLib压缩打包后一次性下载
查看>>
Python 爬取简单网页
查看>>
【机器学习】--xgboost初始之代码实现分类
查看>>
【强化学习篇】--强化学习从初识到应用
查看>>
获取图片
查看>>
过滤器
查看>>
软件工程个人作业02(四则运算)
查看>>
jQuery自动完成点击html元素
查看>>