2017.10.25水题大作战题解
时间:2022-05-08
本文章向大家介绍2017.10.25水题大作战题解,主要内容包括T1P1615 西游记公司、T2P1838 三子棋I、T3P1319 压缩技术、T4P2077 红绿灯、T5P2043 质因子分解、T6P1737 旷野大计算、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
rank:
T1P1615 西游记公司
https://www.luogu.org/problemnew/show/P1615
scanf直接秒
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define LL long long
6 using namespace std;
7 inline LL read()
8 {
9 char c=getchar();LL x=0,f=1;
10 while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
11 while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*f;
12 }
13 int main()
14 {
15 LL a,b,c,d,e,f,n;
16 scanf("%lld:%lld:%lld%lld:%lld:%lld%lld",&a,&b,&c,&d,&e,&f,&n);
17 printf("%lld",n*(f-c+60*(e-b)+3600*(d-a)));
18 return 0;
19 }
T2P1838 三子棋I
https://www.luogu.org/problemnew/show/P1838
判断好每一种情况,不要忘了平局
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define LL long long
6 using namespace std;
7 const int MAXN=201;
8 inline int read()
9 {
10 char c=getchar();int flag=1,x=0;
11 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
12 while(c>='0'&&c<='9') x=(x*10+c-48),c=getchar(); return x*flag;
13 }
14 int a[MAXN][MAXN];
15 char s[MAXN];
16 int hang[MAXN];
17 int lie[MAXN];
18 int hang2[MAXN];
19 int lie2[MAXN];
20 int main()
21 {
22 int n=3;
23 scanf("%s",s+1);
24 int now=1;
25 for(int i=1;i<=strlen(s+1);i++)
26 {
27 int p=(int)s[i]-48;
28 if(p%3!=0)
29 {
30 a[p/3+1][p%3]=now;
31 if(now==1) hang[p/3+1]++, lie[p%3]++;
32 else hang2[p/+1]++, lie2[p%3]++;
33 }
34 else
35 {
36 a[p/3][3]=now;
37 if(now==1) hang[p/3]++, lie[3]++;
38 else hang2[p/3]++, lie2[3]++;
39 }
40 if(now==1) now=0;else now=1;
41 }
42 for(int i=1;i<=3;i++)
43 if(hang[i]==3||lie[i]==3)
44 { printf("xiaoa wins."); return 0; }
45 if((a[1][1]==1&&a[2][2]==1&&a[3][3]==1)||(a[1][3]==1&&a[2][2]==1&&a[3][1]==1))
46 { printf("xiaoa wins."); return 0; }
47 for(int i=1;i<=3;i++)
48 if(hang2[i]==3||lie2[i]==3)
49 { printf("uim wins."); return 0; }
50 if((a[1][1]==0&&a[2][2]==0&&a[3][3]==0)||(a[1][3]==0&&a[2][2]==0&&a[3][1]==0))
51 { printf("uim wins."); return 0; }
52 printf("drew.");
53 return 0;
54 }
T3P1319 压缩技术
https://www.luogu.org/problemnew/show/P1319
根据题意模拟即可
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define LL long long
6 using namespace std;
7 const int MAXN=201;
8 inline int read()
9 {
10 char c=getchar();int flag=1,x=0;
11 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
12 while(c>='0'&&c<='9') x=(x*10+c-48),c=getchar(); return x*flag;
13 }
14 int n;
15 int main()
16 {
17 n=read();
18 int now=0;
19 int how=1;//zero
20 int p;
21 while(cin>>p)
22 {
23 for(int i=1;i<=p;i++)
24 {
25 if(how==1) printf("0");
26 else printf("1");
27 now++;
28 if(now==n) printf("n"),now=0;
29 }
30 if(how==1) how=0;
31 else how=1;
32 }
33 return 0;
34 }
T4P2077 红绿灯
https://www.luogu.org/problemnew/show/P2077
模拟汽车的行走路线,注意在经过红绿灯的时候取模
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define LL long long
6 using namespace std;
7 const int MAXN=200001;
8 inline int read()
9 {
10 char c=getchar();int flag=1,x=0;
11 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
12 while(c>='0'&&c<='9') x=(x*10+c-48),c=getchar(); return x*flag;
13 }
14 int n,m;
15 int dis[MAXN];
16 int green[MAXN];
17 int red[MAXN];
18 int get(int pos,int val)
19 {
20 int now=val%(green[pos]+red[pos]);
21 if(now<=green[pos]) return 0;
22 return red[pos]-(now-green[pos]);
23 }
24 int main()
25 {
26 n=read(),m=read();
27 for(int i=1;i<=n-1;i++) dis[i]=read();
28 for(int i=1;i<=n;i++) red[i]=read();
29 for(int i=1;i<=n;i++) green[i]=read();
30 int now=m;
31 for(int i=1;i<=n;i++)
32 {
33 now=now+get(i,now);
34 printf("%dn",now);
35 now+=dis[i];
36 }
37 return 0;
38 }
T5P2043 质因子分解
https://www.luogu.org/problemnew/show/P2043
枚举1-n,依次进行分解
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define LL long long
6 using namespace std;
7 const LL MAXN=200001;
8 inline LL read()
9 {
10 char c=getchar();LL flag=1,x=0;
11 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
12 while(c>='0'&&c<='9') x=(x*10+c-48),c=getchar(); return x*flag;
13 }
14 LL n;
15 LL vis[MAXN];
16 LL prime[MAXN];
17 LL tot=0;
18 LL ans[MAXN];
19 int main()
20 {
21 n=read();
22 vis[1]=1;
23 for(LL i=1;i<=10000;i++)
24 {
25 if(vis[i]==0)
26 {
27 prime[++tot]=i;
28 for(LL j=i;j<=15000;j+=i)
29 vis[j]=1;
30 }
31 }
32 // for(LL i=1;i<=tot;i++)
33 // cout<<prime[i]<<" ";
34 for(LL i=1;i<=n;i++)
35 {
36 LL p=i;
37 for(LL j=1;j<=tot;j++)
38 while(p%prime[j]==0&&p!=1)
39 ans[j]++,p=p/prime[j];
40 }
41 for(LL i=1;i<=tot;i++)
42 if(ans[i]!=0)
43 printf("%lld %lldn",prime[i],ans[i]);
44 return 0;
45 }
T6P1737 旷野大计算
https://www.luogu.org/problemnew/show/P1737
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android拖动条的实现代码
- Devtools 老师傅养成[3] - Console 面板
- Android开发中数据库升级且表添加新列的方法
- Android冷启动实现app秒开的实现代码
- Devtools 老师傅养成[4] - Sources 面板
- android中使用Html渲染的方式实现必填项前面的*号示例
- android视频播放简单实现示例(VideoView&MediaPlayer)
- Android中SharedPreference详解及简单实例
- Devtools 老师傅养成[5] - Network 面板
- android实现上传本地图片到网络功能
- android音乐播放简单实现的简单示例(MediaPlayer)
- Android实现桌面悬浮小火箭效果
- Android数据库中事务操作方法之银行转账示例
- Android实现QQ登录功能
- Devtools 老师傅养成[6] - Performance 面板