牛客网技能树第一章题解
skill-tree
Skill-Tree!!!
基础输出
基础输出
Hello Nowcoder
简单输出题
code:
using namespace std;
namespace lccp {
void solve() {
cout << "Hello Nowcoder!";
}
}
using namespace lccp;
字符串输出1.0
简单输出题,加入换行
code:
using namespace std;
namespace lccp {
void solve() {
cout << "Welcome to ACM / ICPC!\nWelcome to ACM / ICPC!\nWelcome to ACM / ICPC!";
}
}
using namespace lccp;
小飞机
简单换行输出题
code:
using namespace std;
namespace lccp {
void solve() {
cout << " **\n **\n************\n************\n * *\n * *";
}
}
using namespace lccp;
基本类型与输入
整数
【模板】牛牛学说话之-整数
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short n;
cin >> n;
cout << n;
}
}
using namespace lccp;
牛牛的第二个整数
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short a, b, c;
cin >> a >> b >> c;
cout << b;
}
}
using namespace lccp;
【模板】牛牛学说话之-长整数
简单模拟题
using namespace std;
namespace lccp {
void solve() {
long long n;
cin >> n;
cout << n;
}
}
using namespace lccp;
成绩输入输出
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short a, b, c;
cin >> a >> b >> c;
cout << "score1=" << a << ",score2=" << b << ",score3=" << c;
}
}
using namespace lccp;
浮点数
【模板】牛牛学说话之-浮点数
简单模拟题
using namespace std;
namespace lccp {
void solve() {
float x;
cin >> x;
cout << fixed << setprecision(6) << x;
}
}
using namespace lccp;
单个字符
【模板】牛牛学说话之-字符
简单模拟题
using namespace std;
namespace lccp {
void solve() {
char c;
cin >> c;
cout << c;
}
}
using namespace lccp;
牛牛的字符菱形
简单模拟题
using namespace std;
namespace lccp {
void solve() {
char c;
cin >> c;
cout << " " << c << "\n " << c << c << c << "\n" << c << c << c << c << c << "\n " << c << c << c << "\n " << c;
}
}
using namespace lccp;
牛牛的字符矩形
简单模拟题
using namespace std;
namespace lccp {
void solve() {
char c;
cin >> c;
cout << c << c << c << '\n' << c << c << c << '\n' << c << c << c << '\n';
}
}
using namespace lccp;
混合输入
牛牛的空格分隔
简单模拟题
using namespace std;
namespace lccp {
void solve() {
char c;
int a;
double f;
cin >> c >> a >> f;
cout << c << ' ' << a << ' ' << fixed << setprecision(10) << f;
}
}
using namespace lccp;
算术运算
加减法
【模板】牛牛学加法
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short a, b;
cin >> a >> b;
cout << a + b;
}
}
using namespace lccp;
牛牛的等差数列
可以发现,等差数列大约是下图这个样子
a
,
a
+
y
,
a
+
2
y
,
a
+
3
y
,
.
.
.
,
a
+
n
y
a,a+y,a+2y,a+3y,...,a+ny
a,a+y,a+2y,a+3y,...,a+ny
现在给出
a
(
A
)
a(A)
a(A)和
a
+
y
(
B
)
a+y(B)
a+y(B),求
a
+
2
y
(
C
)
a+2y(C)
a+2y(C)
C
=
A
+
(
B
−
A
)
∗
2
=
>
C
=
2
B
−
A
C=A+(B-A)*2=>C=2B-A
C=A+(B−A)∗2=>C=2B−A
接下来简单模拟就行了
using namespace std;
namespace lccp {
void solve() {
int a, b;
cin >> a >> b;
cout << 2 * b - a;
}
}
using namespace lccp;
乘法
【模板】牛牛学乘法
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short a, b;
cin >> a >> b;
cout << a * b;
}
}
using namespace lccp;
牛牛买电影票
简单模拟题
using namespace std;
namespace lccp {
void solve() {
short x;
cin >> x;
cout << 100 * x;
}
}
using namespace lccp;
你能活多少秒
建议先计算出 3.156 ∗ 10 7 3.156*10^7 3.156∗107,再与年龄相乘
using namespace std;
namespace lccp {
void solve() {
int age;
cin >> age;
cout << 1ll * age * 31560000;
}
}
using namespace lccp;
牛牛的圆
考察小学知识点
using namespace std;
namespace lccp {
void solve() {
const double PI = 3.14;
int r;
cin >> r;
cout << fixed << setprecision(15) << PI * r * r;
}
}
using namespace lccp;
除法与取余
【模板】牛牛学除法
简单模拟题
using namespace std;
namespace lccp {
void solve() {
int a, b;
cin >> a >> b;
cout << a / b;
}
}
using namespace lccp;
【模板】牛牛学取余
简单模拟题
using namespace std;
namespace lccp {
void solve() {
int a, b;
cin >> a >> b;
cout << a % b;
}
}
using namespace lccp;
浮点除法
简单模拟题
using namespace std;
namespace lccp {
void solve() {
int a, b;
cin >> a >> b;
cout << fixed << setprecision(10) << 1.0 * a / b;
}
}
using namespace lccp;
整数的个位
可以发现整数的个位等于整数取余十
using namespace std;
namespace lccp {
void solve() {
short a;
cin >> a;
cout << a % 10;
}
}
using namespace lccp;
整数的十位
可以发现整数的十位等于整数除以十取整再取余十
using namespace std;
namespace lccp {
void solve() {
int a;
cin >> a;
cout << a / 10 % 10;
}
}
using namespace lccp;
TD
p = n / m p = n/m p=n/m
using namespace std;
namespace lccp {
void solve() {
int n, m;
cin >> n >> m;
cout << fixed << setprecision(12) << 1.0 * n / m;
}
}
using namespace lccp;
反向输出一个四位数
提取各位并反向输出即可
using namespace std;
namespace lccp {
void solve() {
short n;
cin >> n;
cout << n % 10 << n / 10 % 10 << n / 100 % 10 << n / 1000 % 10;
}
}
using namespace lccp;
时间转换
h o u r s = ⌊ S e c o n d s 3600 ⌋ , m i n u t e s = ⌊ S e c o n d s 60 ⌋ m o d 60 , s e c o n d s = S e c o n d s m o d 60 hours=\lfloor\frac{Seconds}{3600}\rfloor,minutes=\lfloor\frac{Seconds}{60}\rfloor\mod60,seconds=Seconds\mod60 hours=⌊3600Seconds⌋,minutes=⌊60Seconds⌋mod60,seconds=Secondsmod60
using namespace std;
namespace lccp {
void solve() {
int seconds;
cin >> seconds;
cout << seconds / 3600 << ' ' << seconds / 60 % 60 << ' ' << seconds % 60;
}
}
using namespace lccp;
混合运算
(a+b-c)*d的计算问题
简单模拟题
using namespace std;
namespace lccp {
void solve() {
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << (a + b - c) * d;
}
}
using namespace lccp;
疫情死亡率
p = ( d c ∗ 100 ) p=(\frac{d}{c}*100) p=(cd∗100)%
using namespace std;
namespace lccp {
void solve() {
int c, d;
cin >> c >> d;
cout << fixed << setprecision(3) << 1.0 * 100 * d / c << '%';
}
}
using namespace lccp;
牛牛的线段
( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 2 = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{(x_1-x_2)^2+(y_1-y_2)^2}^2=(x_1-x_2)^2+(y_1-y_2)^2 (x1−x2)2+(y1−y2)22=(x1−x2)2+(y1−y2)2
using namespace std;
namespace lccp {
void solve() {
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
}
using namespace lccp;
求四位数各个数位之和
s u m = n u m m o d 10 + ⌊ n u m 10 ⌋ m o d 10 + ⌊ n u m 100 ⌋ m o d 10 + ⌊ n u m 1000 ⌋ m o d 10 sum=num\mod10+\lfloor\frac{num}{10}\rfloor\mod10+\lfloor\frac{num}{100}\rfloor\mod10+\lfloor\frac{num}{1000}\rfloor\mod10 sum=nummod10+⌊10num⌋mod10+⌊100num⌋mod10+⌊1000num⌋mod10
using namespace std;
namespace lccp {
void solve() {
short n;
cin >> n;
cout << n % 10 + n / 10 % 10 + n / 100 % 10 + n / 1000 % 10;
}
}
using namespace lccp;
明天星期几?
t o m o r r o w = t o d a y m o d 7 + 1 tomorrow=today\mod7+1 tomorrow=todaymod7+1
using namespace std;
namespace lccp {
void solve() {
int d;
cin >> d;
cout << d % 7 + 1;
}
}
using namespace lccp;
温标转换
F = ( K − 273.15 ) ∗ 1.8 + 32 F=(K-273.15)*1.8+32 F=(K−273.15)∗1.8+32
using namespace std;
namespace lccp {
void solve() {
double k;
cin >> k;
cout << fixed << setprecision(9) << (k - 273.15) * 1.8 + 32;
}
}
using namespace lccp;
计算机内存
1
M
B
=
262144
个整数存储空间
1MB=262144个整数存储空间
1MB=262144个整数存储空间
a
n
s
=
262144
∗
n
ans=262144*n
ans=262144∗n
using namespace std;
namespace lccp {
void solve() {
long long memory = 262144;
int n;
cin >> n;
cout << n * memory;
}
}
using namespace lccp;
牛牛学立体
按照题意模拟即可
using namespace std;
namespace lccp {
void solve() {
int a, b, c;
int S, V;
cin >> a >> b >> c;
S = 2 * (a * b + a * c + b * c);
V = a * b * c;
cout << S << '\n' << V;
}
}
using namespace lccp;
牛牛的并联电路
按照题意模拟即可
using namespace std;
namespace lccp {
void solve() {
int r1, r2;
double R;
cin >> r1 >> r2;
R = 1.0 * 1 / (1.0 * 1 / r1 + 1.0 * 1 / r2);
cout << fixed << setprecision(6) << R;
}
}
using namespace lccp;
成绩
考察百分数转小数
using namespace std;
namespace lccp {
void solve() {
int a, b, c;
cin >> a >> b >> c;
cout << a * 0.2 + b * 0.3 + c * 0.5;
}
}
using namespace lccp;
小乐乐求和
s u m = 1 + 2 + . . . + n = ( 1 + n ) n 2 sum=1+2+...+n=\frac{(1+n)n}{2} sum=1+2+...+n=2(1+n)n
using namespace std;
namespace lccp {
void solve() {
int n;
cin >> n;
cout << 1ll * (1 + n) * n / 2;
}
}
using namespace lccp;
kiki算数
a n s = ( a m o d 100 + b m o d 100 ) m o d 100 ans=(a\mod100+b\mod100)\mod100 ans=(amod100+bmod100)mod100
#include <iostream>
using namespace std;
namespace lccp {
void solve() {
int a, b;
cin >> a >> b;
cout << (a % 100 + b % 100) % 100;
}
}
using namespace lccp;
int main() {
solve();
return 0;
}
开学?
为了避免加上 n n n天取余7为0,可以加上 n − 1 n-1 n−1天,保证是正整数( 1 ≤ x ≤ 7 ; 1 ≤ n ≤ 10 3 1≤x≤7;1≤n≤10^3 1≤x≤7;1≤n≤103)
using namespace std;
namespace lccp {
void solve() {
int x, n;
cin >> x >> n;
cout << (x + n - 1) % 7 + 1;
}
}
using namespace lccp;
小乐乐排电梯
a n s = w a i t + u p = 4 ⌊ n 12 ⌋ + 2 ans=wait+up=4\lfloor\frac{n}{12}\rfloor+2 ans=wait+up=4⌊12n⌋+2
using namespace std;
namespace lccp {
void solve() {
int n;
cin >> n;
cout << n / 12 * 4 + 2;
}
}
using namespace lccp;
程序控制
分支控制
及格分数
using namespace std;
namespace lccp {
void solve() {
int x;
cin >> x;
cout << (x >= 60 ? "Pass" : "Fail");
}
}
using namespace lccp;
牛牛的判断题
using namespace std;
namespace lccp {
void solve() {
int x, l, r;
cin >> x >> l >> r;
cout << (l <= x && x <= r ? "true" : "false");
}
}
using namespace lccp;
更多推荐



所有评论(0)