61比赛整合题解(A,B,C,F)
最后一个六一了,好好珍惜
A 九九八十一
比较简单,为判断一个数中是否有另一数,最好用check函数解决。另外,还有一个坑点,就是c可能是字符,所以要定义char并加上判断。
代码:
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,ans_a,ans_b;
char c;
int check(int x){
int ans_b=0;
while(x>0){
if((x%10+'0')==c) ans_b++;//关键在这
x/=10;
}
return ans_b;
}
signed main(){
cin>>c>>n;
int x=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
ans_a+=check(j);
ans_a+=check(i);
ans_a+=check(i*j);
x++;
}
}
if(c=='*' or c=='=' or c==','){//还有这儿
cout<<x;
return 0;
}
cout<<ans_a;
return 0;
}
B 小X的问题
先科普一下什么是最大团?
看完以后,是不是似懂非懂。
但是,你看完这道题目就彻底傻了,怎么会有这种题?
它只要你求 个节点的树的最大团个数的期望。
只有三种情况: 0(n=0); 1(n=1); 2(other)
代码不写。
C 该查表了
什么!这怎么查?
首先我去查了查数学的一些表,发现都没有小数的。后来我又从斐波那契,卡特兰,杨辉三角等数列入手,但并没有丝毫进展。我又在百度上随手搜了搜“带有小数的表
”,接着我开始寻找,突然有一个元素周期表 映入眼帘,突然一想,欸,好像没错!果真,对了。
还是给下代码吧
#include <bits/stdc++.h>
using namespace std;
int main(){
string s="1.01 4.00 6.94 9.01 10.81 12.01 14.01 16.00 19.00 20.18 22.99 24.31 26.98 28.09 30.97 32.06 35.45 39.95 39.10 40.08 44.96 47.87 50.94 52.00 54.94 55.85 58.93 58.69 63.55 65.38 69.72 72.63 74.92 78.96 79.90 83.80\n";
cout<<s;
return 0;
}
F 啊啵呲嘚呃佛歌
题目已经是在提醒我们了,是abcdef...
看到提示,不禁想起了声母和韵母,分成两行写,便AC了。