A - Chord

题意:就是环中有12个字符,给你三个字符,判断他们之间的间隔,如果第一个和第二个间隔是3并且第二个和第三个间隔是4,那么就输出minor,如果第一个和第二个间隔是4并且第二个和第三个间隔是3,那么就输出major,否则输出strange

思路:用一个数组a中相对位置存入1,因为1个循环是12,让你判断的总长度是7,所以不会产生干扰,直接进行a[i]、a[i+3]、a[i+7]判断即可

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstdio>
5 #include<cstring>
6 using namespace std;
7 int main(){
8 //C, C#, D, D#, E, F, F#, G, G#, A, B,H
9 string s[28]={"0","C","C#","D","D#","E","F","F#","G","G#","A","B","H"};
10 string s1;
11 string s2;
12 string s3;
13 cin>>s1;
14 cin>>s2;
15 cin>>s3;
16 int flag=0;
17 int flag1=0,flag2=0,flag3=0;
18 for(int i=1;i<=12;i++){
19 if(s1==s[i]){
20 flag1=i;
21 }
22 if(s2==s[i]){
23 flag2=i;
24 }
25 if(s3==s[i]){
26 flag3=i;
27 }
28 }
29 int a[50]={0};
30 a[flag1]=1;
31 a[flag2]=1;
32 a[flag3]=1;
33 a[flag1+12]=2;
34 a[flag2+12]=2;
35 a[flag3+12]=2;
36 for(int i=0;i<30;i++){
37 if(a[i]!=0&&a[i+3]!=0&&a[i+7]!=0){
38 flag=1;
39 break;
40 }
41 if(a[i]!=0&&a[i+4]!=0&&a[i+7]!=0){
42 flag=2;
43 break;
44 }
45 }
46 if(flag==1){
47 printf("minor");
48 }else if(flag==2){
49 printf("major");
50 }else{
51 printf("strange");
52 }
53 }

B - Keyboard

题意:题目中给定一种特殊的矩阵键盘,S是可以让小写字母变成大写字母,如果S和给定字母的小写字母在一定范围内,则用一个手输出,否则用两只手输出,问至少多少次用两只手输出

思路:一开始想着就是直接存,然后先找到距离内的字符做好标记,直接看看给定的字符串中有多少个在这个未标记的范围内,结果这样是错的,其实未标记的字母可能也存在于已标记的范围中,所以应该以已标记的为主要对比对象

代码:

  1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstdio>
5 #include<cstring>
6 using namespace std;
7 int main(){
8 int n,m,x,d;
9 scanf("%d %d %d",&n,&m,&d);
10 char s[60][60];
11 int xx[4000][2];
12 int flag=0;
13 getchar();//存入
14 for(int i=0;i<n;i++){
15 for(int j=0;j<m;j++){
16 scanf("%c",&s[i][j]);
17 if(s[i][j]=='S'){
18 xx[flag][0]=i;
19 xx[flag][1]=j;
20 flag++;
21 }
22 }
23 getchar();
24 }
25 int t;
26 int ss[60][60];
27 for(int i=0;i<60;i++){
28 for(int j=0;j<60;j++){
29 ss[i][j]=0;
30 }
31 }
32 scanf("%d",&t);
33 string tt;
34 getchar();
35 getline(cin,tt);
36 for(int i=0;i<flag;i++){
37 int x,y;
38 x=xx[i][0];
39 y=xx[i][1];
40 ss[x][y]=1;
41 for(int ii=0;ii<n;ii++){
42 for(int j=0;j<m;j++){
43 long int st=0;
44 st=(ii-x)*(ii-x)+(j-y)*(j-y);
45 if(st<=d*d){
46 ss[ii][j]=1;
47 }
48 }
49
50 }
51 }
52 int p=0;
53 if(flag==0){
54 p=1;
55 }//标记这是没有shift键的
56 int sum=0;
57 int flag1=0;
58 int ds=0;
59 for(int i=0;i<t;i++){
60 int flagg=0;
61 if(tt[i]>='A'&&tt[i]<='Z'){
62 ds++;
63 int ff=0,f=0;
64 for(int ii=0;ii<n;ii++){
65 f=0;
66 for(int jj=0;jj<m;jj++){
67 if(tt[i]-'A'+'a'==s[ii][jj]&&ss[ii][jj]==1){
68 f=1;
69 break;
70 }
71 if(tt[i]-'A'+'a'==s[ii][jj]&&ss[ii][jj]==0){
72 ff=1;
73 }
74 if(tt[i]-'A'+'a'==s[ii][jj]){
75 flagg++;
76 }
77 }
78 if(f==1){
79 break;
80 }
81 }
82 if(f==1){
83 continue;
84 }else if(ff==1){
85 sum++;
86 }
87 if(flagg==0){
88 flag1=1;
89 }
90 }else{
91 for(int ii=0;ii<n;ii++){
92 for(int jj=0;jj<m;jj++){
93 if(tt[i]==s[ii][jj]){
94 flagg++;
95 }
96 }
97 }
98 if(flagg==0){
99 flag1=1;
100 }
101 }
102 }
103 if((flag1==1)||(ds>0&&p==1)){
104 printf("-1\n");
105 }else{
106 printf("%d\n",sum);
107 }
108
109 }

C - Trains

题意:其实就是问,在两个数的最小公倍数内,谁的商更大一些,但是最小公倍数的最后一次要给除数大的那边,也就是说除数小的那个数的商要减1,然后比较大小分别输出相应的内容

思路:直接找最小公倍数以及商就好了

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstdio>
5 #include<cstring>
6 using namespace std;
7 long long int cm(long long int a,long long int b){
8 if(a==b){
9 return a;
10 }
11 if(a>b){
12 a-=b;
13 cm(a,b);
14 }else{
15 b-=a;
16 cm(a,b);
17 }
18 }
19 int main(){
20 long long int a,b,c;
21 scanf("%lld %lld",&a,&b);
22 c=(a*b)/(cm(a,b));
23 long long int num1=c/a,num2=c/b;
24 if(a>b){
25 num2-=1;
26 }
27 if(b>a){
28 num1-=1;
29 }
30 if(num1>num2){
31 printf("Dasha");
32 }else if(num1<num2){
33 printf("Masha");
34 }else{
35 printf("Equal");
36 }
37
38 }

Codeforces Beta Round #73(Div2)的更多相关文章

  1. Codeforces Beta Round #73 (Div. 2 Only)

    Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...

  2. Codeforces Beta Round #94 div2 D 优先队列

    B. String time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...

  3. Codeforces Beta Round #107(Div2)

    B.Phone Numbers 思路:就是简单的结构体排序,只是这里有一个技巧,就是结构体存储的时候,直接存各种类型的电话的数量是多少就行,在读入电话的时候,既然号码是一定的,那么就直接按照格式%c读 ...

  4. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  5. Codeforces Beta Round #62 题解【ABCD】

    Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...

  6. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  7. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  8. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

  9. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

随机推荐

  1. gtk编译之makefile的写法(之一)

    在学习c语言GUI编程时想必大家都会遇见这样一个问题买就是每次编译都要敲`pkg-config --cflags --libs gtk+-2.0`这个烦恼吧 这是我们可以编写一个makefile文件这 ...

  2. Stone Game, Why are you always there? HDU - 2999

    题目链接:https://vjudge.net/problem/HDU-2999 题意:有N堆石头,两个人交替取,每次只能取连续的k个石子,最后没有石子取得人输. 思路:如果我们每次取靠边的k个,那么 ...

  3. exe取消动态基址

    动态基址开启后,在动态调试是想要和ida静态分析中的地址对应还要进行一步计算,取消动态基址便可以剩下很多时间. 只要修改pe文件头中的Characteristics低位置1 1 typedef str ...

  4. K8S 本地 配置 Local PV 实践

    上面我们创建了后端是 hostPath 类型的 PV 资源对象,我们也提到了,使用 hostPath 有一个局限性就是,我们的 Pod 不能随便漂移,需要固定到一个节点上,因为一旦漂移到其他节点上去了 ...

  5. 【Visual Studio调教小记录】C++指针靠前靠后??

    本文地址:https://www.cnblogs.com/oberon-zjt0806/p/14631149.html 甜咸之争 经常写C++的基本上避不开使用指针,而且C++中指针类型的写法大体上有 ...

  6. 学习笔记-vue.js快捷登录 enter

    一般监听在输入密码的input监听keyup事件,加enter修饰符.如果input是组件,加上.native修饰符.<div id="app"> <input ...

  7. 给我一个shell我能干翻你内网

    0x00 前言 在去年小菜鸡学了点内网知识就闲着没事跑点jboss的站看看,在经历过很多次内网横向失败之后终于算是人生圆满了一把,阿三的站一般进去之后很难横向,不知道是不是我太菜的原因,反正阿三的站能 ...

  8. 【Java】8.0 数组及其操作

    [概述] 有时候,我们需要某类的变量,它们是用于表达同一类的东西,但每个个体有不一样,比如学生成绩表的各个成绩 我们不可能为每个学生单独建立一个int变量来表示成绩,此时我们可以创建一个数组,再把每个 ...

  9. dubbo支持哪些通信协议?支持哪些序列化协议?

    (1)dubbo支持不同的通信协议 1)dubbo协议 dubbo://192.168.0.1:20188 默认就是走dubbo协议的,单一长连接,NIO异步通信,基于hessian作为序列化协议 适 ...

  10. 【随笔】C++类静态成员变量初始化引发的惨痛教训

    事情是这样的,我在某个类中声明了一个静态的map成员, 文件名暂且称之为 xxx.h 然后在 xxx.cc 中全局定义了这个东西,静态成员在类里面只是声明,需要在外边被定义才有内存 然后又在main. ...