1.你好,牛客
#include<bits/stdc++.h>
using namespace std;
int main(){
printf("hello nowcoder");
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
scanf("%d", &a);
printf("%d", a);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
double a;
scanf("%lf", &a);
printf("%.3lf", a);
return 0;
}
4.牛牛学加法
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
scanf("%d %d", &a, &b);
printf("%d", a + b);
return 0;
}
5.牛牛学除法
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
scanf("%d %d", &a, &b);
printf("%d", a / b);
return 0;
}
6.牛牛学取余
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
scanf("%d %d", &a, &b);
printf("%d", a % b);
return 0;
}
7.整数的个位
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
scanf("%d", &a);
printf("%d", a % 10);
return 0;
}
8.整数的十位
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
scanf("%d", &a);
printf("%d", (a / 10) % 10);
return 0;
}
9.浮点除法
#include<bits/stdc++.h>
using namespace std;
int main(){
double a, b;
scanf("%lf %lf", &a, &b);
printf("%.3lf", a / b);
return 0;
}
10.倒序
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d %d %d", c, b, a);
return 0;
}
11.分钟计算
#include<bits/stdc++.h>
using namespace std;
int main(){
int h1, m1, h2, m2;
scanf("%d %d\n%d %d", &h1, &m1, &h2, &m2);
int sum = (h2 - h1) * 60 + m2 - m1;
printf("%d", sum);
return 0;
}
12.牛牛学梯形
#include<bits/stdc++.h>
using namespace std;
int main(){
double u,d,h,s;
scanf("%lf %lf %lf", &u, &d, &h);
s= (u + d) * h / 2;
printf("%.3lf",s);
return 0;
}
13.牛牛学圆
#include<bits/stdc++.h>
using namespace std;
int main(){
double r;
scanf("%lf", &r);
const double PI = 3.14159;
double l = 2 * PI * r;
double s = PI * r * r;
printf("%lf\n%lf", l, s);
return 0;
}
14. 牛牛学矩形
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
scanf("%d %d", &a, &b);
int l = 2 * (a + b);
int s = a * b;
printf("%d\n%d", l, s);
return 0;
}
15.牛牛学立体
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int l = 2 * (a * b + a * c + b * c);
int s = a * b * c;
printf("%d\n%d", l, s);
return 0;
}
16.数字反转之-三位数
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
int a = x / 100;
int b = x / 10 % 10;
int c = x % 10;
printf("%d%d%d", c, b, a);
return 0;
}
17.上下取整
#include<bits/stdc++.h>
using namespace std;
int main(){
double x;
scanf("%lf", &x);
printf("%.0lf\n%.0lf", floor(x), ceil(x));
return 0;
}
18.求平均值
#include<bits/stdc++.h>
using namespace std;
int main(){
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
printf("%lf", (a + b + c) / 3);
return 0;
}
19.平方根
#include<bits/stdc++.h>
using namespace std;
int main(){
double x;
scanf("%lf", &x);
printf("%.0lf", floor(sqrt(x)));
return 0;
}
20.温度转换
#include<bits/stdc++.h>
using namespace std;
int main(){
double f;
scanf("%lf", &f);
double c = 5.0 / 9.0 * (f - 32);
printf("%.3lf", c);
return 0;
}
21.计算机内存
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
int ans = x * 1024 * 1024 / 4;
printf("%d", ans);
return 0;
}
22.四舍五入
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = (n + 5) / 10 * 10;
printf("%d", ans);
return 0;
}
23.加法模拟器
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
c= a + b;
printf("%d+%d=%d\n", a, b, c);
printf("%7d\n+%6d\n-------\n%7d",a,b,c);
return 0;
}
24.判断奇偶
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
if((x % 2) == 1) printf("odd");
else printf("even");
return 0;
}
25.一大一小
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
scanf("%d %d", &a, &b);
if(a < b){
int c = a;
a = b;
b = c;
}
printf("%d\n%d", a, b);
return 0;
}
26.牛妹数
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
if(x % 2 == 0 && x > 50){
puts("yes");
}else{
puts("no");
}
return 0;
}
27.牛可乐数
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
if(x % 2 == 0 || x > 50){
puts("yes");
}else{
puts("no");
}
return 0;
}
28.判断闰年
#include<bits/stdc++.h>
using namespace std;
int main(){
int year;
scanf("%d", &year);
// 普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年(如2004年、2020年就是闰年)。
bool condition1 = (year % 4 == 0 && year % 100 != 0);
// 世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)
bool condition2 = (year % 400 == 0);
if (condition1 || condition2) {
puts("yes");
} else {
puts("no");
}
return 0;
}
29.吃瓜群众
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
if(x % 2 == 0 && x > 3){
puts("YES, you can divide the watermelon into two even parts.");
}else{
puts("NO, you can't divide the watermelon into two even parts.");
}
return 0;
}
30.最大最小值
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[3];
for(int i=0;i<3;i++) scanf("%d", &a[i]);
sort(a,a+3);
printf("The maximum number is : %d\n", a[2]);
printf("The minimum number is : %d\n", a[0]);
return 0;
}
31.牛牛学数列
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0, temp = 1;
for(int i=1;i<=n;i++){
ans += temp * i;
temp = -temp;
}
printf("%d", ans);
return 0;
}
32.牛牛学数列2
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
double ans = 0;
for(int i=1;i<=n;i++){
ans += 1 / double(i);
}
printf("%lf", ans);
return 0;
}
33.牛牛学数列3
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
double ans = 0;
int temp = 1, cnt = 0;
for(int i=1;i<=n;i++){
cnt += temp * (2 * i - 1);
temp = -temp;
ans += 1 / double(cnt);
}
printf("%.3lf", ans);
return 0;
}
34.牛牛学数列4
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0, cnt = 0;
for(int i=1;i<=n;i++){
cnt += i;
ans += cnt;
}
printf("%d", ans);
return 0;
}
35.牛牛学数列5
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int dp[50];
memset(dp, 0, sizeof(dp));
dp[1] = 1, dp[2] = 1, dp[3] = 2;
for(int i=4;i<=n;i++) dp[i] = dp[i - 1] + dp[i - 2];
printf("%d", dp[n]);
return 0;
}
36.牛牛学数列6
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int dp[25];
memset(dp, 0, sizeof(dp));
dp[1] = 0, dp[2] = 1, dp[3] = 1;
for(int i=4;i<=n;i++) dp[i] = dp[i - 1] + 2 * dp[i - 2] + dp[i - 3];
printf("%d", dp[n]);
return 0;
}
37.幸运数字7
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0;
for(int i=1;i<=n;i++){
if(i % 7 == 0){
ans += i;
}
}
printf("%d", ans);
return 0;
}
38.魔法数字变换
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0;
while(n != 1){
if(n % 2 == 1) n = 3 * n + 1;
else n /= 2;
ans++;
}
printf("%d", ans);
return 0;
}
39.更相减损术
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b){
return b == 0 ? a : gcd(b, a % b);
}
int main(){
int a, b;
scanf("%d %d", &a, &b);
while(a != b){
if(a > b) a -= b;
else b -= a;
}
printf("%d", a);
return 0;
}
40.多组输入a+b
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
while(~scanf("%d %d", &a, &b)){
printf("%d\n", a + b);
}
return 0;
}
41.多组输入a+b II
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int a, b;
for(int i=0;i<n;i++){
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
}
return 0;
}
42.多组数据a+b III
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
while(~scanf("%d %d", &a, &b), a && b){
printf("%d\n", a + b);
}
return 0;
}
43.数位五五
#include<bits/stdc++.h>
using namespace std;
int main(){
int x, y;
scanf("%d %d", &x, &y);
int ans = 0;
for(int i=x;i<=y;i++){
int temp = i;
int val = 0;
while(temp){
val += (temp % 10);
temp /= 10;
}
if((val % 5) == 0) ans++;
}
printf("%d", ans);
return 0;
}
44.回文对称数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
for(int i=1;i<=n;i++){
string str = to_string(i);
int flag = 0;
for(int i=0,j=str.size()-1;i<j;i++,j--){
if(str[i] != str[j]) flag = 1;
if(flag) break;
}
if(!flag) printf("%d\n", i);
}
return 0;
}
45.3和5
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
for(int i=1;i<=n;i++){
if((i % 3) == 0){
string str = to_string(i);
for(int j=0;j<str.size();j++){
if(str[j] == '5'){
printf("%d\n", i);
break;
}
}
}
}
return 0;
}
46.3和5和7
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
for(int i=1;i<=n;i++){
if((i % 3) == 2 && (i % 5) == 3 && (i % 7) == 2){
printf("%d\n", i);
}
}
return 0;
}
47.四位数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
for(int i=1000;i<=n;i++){
int AB = i / 100;
int CD = i % 100;
if((AB + CD) * (AB + CD) == i){
printf("%d\n", i);
}
}
return 0;
}
48.约数之和
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0;
for(int i=1;i<=n;i++){
if(n % i == 0) ans += i;
}
printf("%d", ans);
return 0;
}
49.零钱兑换
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0;
for(int i=0;i<=(n/1);i++){
for(int j=0;j<=(n/2);j++){
for(int k=0;k<=(n/5);k++){
if(i * 1 + j * 2 + k * 5 == n) ans++;
}
}
}
printf("%d", ans);
return 0;
}
50.选村长
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
int A = 0, B = 0, C = 0, cnt = 0;
while(~scanf("%d", &x)){
if(x == 1) A++;
else if(x == 2) B++;
else if(x == 3) C++;
cnt++;
}
printf("A=%d\n", A);
printf("B=%d\n", B);
printf("C=%d\n", C);
printf("Tot=%d\n", A + B + C);
if(A >= (cnt + 1) / 2){
printf("A-yes\n");
}else if(B >= (cnt + 1) / 2){
printf("B-yes\n");
}else if(C >= (cnt + 1) / 2){
printf("C-yes\n");
}else{
printf("all-NO\n");
}
return 0;
}
51.数位之和
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
scanf("%d", &x);
int ans = 0;
while(x){
ans += (x % 10);
x /= 10;
}
printf("%d", ans);
return 0;
}
52.素数判断
#include<bits/stdc++.h>
using namespace std;
int main(){
int T;
scanf("%d", &T);
while(T--){
int n;
scanf("%d", &n);
int flag = 0;
for(int i=2;i<=sqrt(n);i++){
if((n % i) == 0){
flag = 1;
break;
}
}
if(n == 1) flag = 1;
if(n == 2) flag = 0;
if(flag) puts("No");
else puts("Yes");
}
return 0;
}
53.字符统计
#include<bits/stdc++.h>
using namespace std;
int main(){
char c;
c = getchar();
int a = 0, b = 0, d = 0;
while(c != '?'){
if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) a++;
else if(c >= '0' && c <= '9') b++;
else d++;
c = getchar();
}
printf("Letters=%d\n", a);
printf("Digits=%d\n", b);
printf("Others=%d\n", d);
return 0;
}
54.金字塔
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
while(~scanf("%d", &n)){
for(int i=1;i<=n;i++){
for(int j=1;j<=(n-i);j++){
printf(" ");
}
for(int j=1;j<=2*i-1;j++){
printf("*");
}
for(int j=1;j<=(n-i);j++){
printf(" ");
}
printf("\n");
}
}
return 0;
}
55.上下金字塔
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
while(~scanf("%d", &n)){
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++) printf(" ");
for(int j=1;j<=2*i-1;j++) printf("*");
printf("\n");
}
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n-i;j++) printf(" ");
for(int j=1;j<=2*i-1;j++) printf("*");
printf("\n");
}
}
return 0;
}
56.阶乘计算
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int ans = 0, temp = 1;;
for(int i=1;i<=n;i++){
temp *= i;
ans += temp;
}
printf("%d", ans);
return 0;
}
57.乘法表
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
printf("%d*%d=%2d ", j, i, i * j);
}
printf("\n");
}
return 0;
}
58.数字三角形
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int k = 1;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
printf("%4d", k++);
}
printf("\n");
}
return 0;
}
59.字符金字塔
#include<bits/stdc++.h>
using namespace std;
int main(){
char ch;
scanf("%c", &ch);
int n = ch - 'A';
for(int i=0;i<=n;i++){
int j = n - i;
while(j--) printf(" ");
for(int k=0;k<=2*i;k++){
int t;
if(k <= i) t = k;
else t = k - 2*(k-i);
char c = 'A' + t;
printf("%c", c);
}
printf("\n");
}
return 0;
}
60.打印质数表
#include<bits/stdc++.h>
using namespace std;
bool check(int x){
if(x == 0 || x == 1) return false;
for(int i=2;i*i<=x;i++){
if(x % i == 0) return false;
}
return true;
}
int main(){
int n;
scanf("%d", &n);
for(int i=1;i<=n;i++){
if(check(i)) printf("%d ", i);
}
return 0;
}
61.牛牛学数列7
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int n;
scanf("%d", &n);
ll dp[n];
memset(dp, 0, sizeof(dp));
dp[1] = 0, dp[2] = 1, dp[3] = 1;
for(int i=4;i<=n;i++) dp[i] = dp[i-1] + dp[i-2];
printf("%lld", dp[n]);
return 0;
}
62.箱子归位
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[6][6];
memset(a, 0, sizeof(a));
int x, y;
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
scanf("%d", &a[i][j]);
if(a[i][j]){
x = i;
y = j;
}
}
}
int ans = abs(x - 3) + abs(y - 3);
printf("%d", ans);
return 0;
}
63.广告屏幕
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, ans = 0;
scanf("%d", &n);
for(int i=1;i*i<=n;i++){
if(n % i == 0) ans = max(ans, i);
}
printf("%d %d", ans, n / ans);
return 0;
}
64.不找零钱
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int flag = 0;
for(int i=0;i<=(c/a)+1;i++){
for(int j=0;j<=(c/b)+1;j++){
if(i*a + j*b == c){
flag = 1;
}
}
}
if(flag) puts("Yes");
else puts("No");
return 0;
}
65.最大公约数
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){
return b == 0 ? a : gcd(b,a%b);
}
ll lcm(ll a,ll b){
return a * b / gcd(a, b);
}
int main(){
ll a, b;
scanf("%lld %lld", &a, &b);
printf("%lld", gcd(a, b));
return 0;
}
66.先进后出
#include<bits/stdc++.h>
using namespace std;
int main(){
int T, n, a[105];
scanf("%d", &T);
while(T--){
memset(a, 0, sizeof(a));
scanf("%d", &n);
for(int i=0;i<n;i++){
scanf("%d", &a[i]);
}
for(int i=n-1;i>=0;i--){
printf("%d ", a[i]);
}
printf("\n");
}
return 0;
}
67.强强联合
#include<bits/stdc++.h>
using namespace std;
int cmp(int a, int b){
return a > b;
}
int main(){
int n, m;
int a[105], b[105];
scanf("%d %d", &n, &m);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
for(int i=0;i<n;i++) scanf("%d", &a[i]);
for(int i=0;i<m;i++) scanf("%d", &b[i]);
sort(a, a+n, cmp);
sort(b, b+m, cmp);
printf("%d", a[0] + b[0]);
return 0;
}
68.定位查找
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m;
int a[25];
while(~scanf("%d", &n)){
memset(a, 0, sizeof(a));
for(int i=0;i<n;i++) scanf("%d", &a[i]);
scanf("%d", &m);
int flag = 0, i;
for(i=0;i<n;i++){
if(a[i] == m){
flag = 1;
break;
}
}
if(flag) printf("%d\n", i);
else printf("No\n");
}
return 0;
}
69.辅导计划
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
int a[105];
while(~scanf("%d", &n)){
memset(a, 0, sizeof(a));
int cnt = 0;
for(int i=0;i<n;i++){
scanf("%d", &a[i]);
cnt += a[i];
}
for(int i=0;i<n;i++){
if(a[i] < cnt * 1.0 / n) printf("%d ", a[i]);
}
printf("\n");
}
return 0;
}
70.增高防护塔
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m, a, b, c, h[105];
scanf("%d", &n);
for(int i=1;i<=n;i++) scanf("%d", &h[i]);
scanf("%d", &m);
for(int i=1;i<=m;i++){
scanf("%d %d %d", &a, &b, &c);
for(int j=a;j<=b;j++){
h[j] += c;
}
}
for(int i=1;i<=n;i++) printf("%d ", h[i]);
return 0;
}
71.超半的数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, a[1005];
scanf("%d", &n);
for(int i=0;i<n;i++) scanf("%d", &a[i]);
sort(a, a+n);
printf("%d\n", a[n / 2]);
return 0;
}
72.复制输出
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
getline(cin, str);
cout<<str<<endl;
return 0;
}
73.字符数量
#include<bits/stdc++.h>
using namespace std;
int main(){
string t;
int a[30];
memset(a, 0, sizeof(a));
while(cin >> t){
for(int i=0;i<t.size();i++){
a[t[i] - 'a']++;
}
}
for(int i=0;i<26;i++){
if(a[i] == 0) continue;
else{
printf("%c:%d\n", char(i + 'a'), a[i]);
}
}
return 0;
}
74.质数数量
#include<bits/stdc++.h>
using namespace std;
const int N = 1000005;
int a[N];
int prime[N];
void init(){
for(int i=2;i<N;i++) prime[i]=1;//先全部初始化为素数
for(int i=2;i*i<N;i++){
if(prime[i]){//如果i是质数
for(int j=i*i;j<N;j+=i){//从i的两倍开始的所有的倍数(i*i也行)
prime[j] = 0;
}
}
}
}
int main(){
init();
for(int i=1;i<=1000000;i++){
a[i] = a[i-1] + prime[i];
}
int T, n;
scanf("%d", &T);
while(T--){
scanf("%d", &n);
printf("%d\n", a[n]);
}
return 0;
}
75.约瑟夫环
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, k, m;
scanf("%d %d %d", &n, &k, &m);
vector<int> t;
int pos = k;
for(int i=0;i<n;i++){
t.push_back(i);
}
for(int i=1;i<=n-1;i++){
pos = (pos + (m - 1)) % t.size();
t.erase(t.begin() + pos);
}
printf("%d", t[0]);
return 0;
}
76.删除元素
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m, a[25];
while(~scanf("%d", &n)){
for(int i=0;i<n;i++) scanf("%d", &a[i]);
scanf("%d", &m);
int flag = 0;
for(int i=0;i<n;i++){
if(a[i] == m && !flag){
flag = 1;
continue;
}
printf("%d ", a[i]);
}
printf("\n");
}
return 0;
}
77.频繁元素
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
map<int, int> m;
int x, ans = 0, cnt = 0;
for(int i=0;i<n;i++){
scanf("%d", &x);
m[x]++;
if(m[x] > cnt){
cnt = m[x];
ans = x;
}
}
printf("%d", ans);
return 0;
}
78.回型矩阵
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int a[20][20];
int p=0,k=1,q=n-1;
while(k <= n * n){
for(int i=p;i<=q;i++) a[p][i] = k++;
for(int i=p+1;i<=q;i++) a[i][q] = k++;
for(int i=q-1;i>=p;i--) a[q][i] = k++;
for(int i=q-1;i>p;i--) a[i][p] = k++;
p++;
q--;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
79.蛇形矩阵
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d", &n);
int sum = 0;
int a[1000][1000];
for(int i=0;i<2*n-1;i++){
for(int j=i;j>=0;j--){
if(j < n && i - j < n) sum++;
if(i % 2 != 0) a[i - j][j] = sum;
else a[j][i - j] = sum;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
80.扫雷
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m;
scanf("%d %d", &n, &m);
char a[105][105];
for(int i=1;i<=n;i++){
scanf("%s", a[i] + 1);
}
int cnt;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j] != '*'){
cnt = 0;
if(a[i-1][j] =='*') cnt++;
if(a[i-1][j-1] == '*') cnt++;
if(a[i-1][j+1] == '*') cnt++;
if(a[i][j-1] == '*') cnt++;
if(a[i][j+1] == '*') cnt++;
if(a[i+1][j] =='*') cnt++;
if(a[i+1][j-1] == '*') cnt++;
if(a[i+1][j+1] == '*') cnt++;
a[i][j] = '0' + cnt;
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
printf("%c", a[i][j]);
}
printf("\n");
}
return 0;
}
81.字符框
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m;
scanf("%d %d", &n, &m);
char str[55][55];
for(int i=0;i<n;i++) scanf("%s", str[i]);
int res = 0, target = 'f'*'a'*'c'*'e';
for(int i=0;i<n-1;i++){
for(int j=0;j<m-1;j++){
if(str[i][j] * str[i][j+1] * str[i+1][j] * str[i+1][j+1] == target) res++;
}
}
printf("%d\n", res);
return 0;
}
82.神仙打架
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m;
scanf("%d %d", &n, &m);
int a[105][105];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%1d", &a[i][j]);
}
}
int flag[105];
memset(flag, 0, sizeof(flag));
int val;
int ans = 0;
for(int j=0;j<m;j++){
val = 0;
for(int i=0;i<n;i++){
if(val < a[i][j]){
val = a[i][j];
}
}
for(int i=0;i<n;i++){
if(val == a[i][j] && !flag[i]){
flag[i] = 1;
ans++;
}
}
}
printf("%d\n", ans);
return 0;
}
83.广场维修
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m, a;
scanf("%d %d %d", &n, &m, &a);
int x, y;
x = n / a;
y = m / a;
if(n % a) x++;
if(m % a) y++;
int ans = x * y;
printf("%d", ans);
return 0;
}
84.过山车
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n, k;
scanf("%lld %lld", &n, &k);
if(n == k || k == 0){
printf("0 0");
}else if(3 * k <= n){
printf("1 %lld", 2 * k);
}else{
printf("1 %lld", n - k);
}
return 0;
}
85.无人驾驶
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, m;
scanf("%d %d %d", &a, &b, &m);
m = m - (abs(a) + abs(b));
if(m < 0 || m & 1) puts("No");
else puts("Yes");
return 0;
}
86.排队领水
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, a, b;
scanf("%d %d %d", &n, &a, &b);
int ans;
if(a + b != n) ans = b + 1;
else if(a + b == n) ans = b;
printf("%d", ans);
return 0;
}
87.送水
#include<bits/stdc++.h>
using namespace std;
int main(){
int Y, k, n;
scanf("%d %d %d", &Y, &k, &n);
if(Y > n) printf("-1");
int flag = 1;
for(int i=1;i<=n/k;i++){
if(i * k < Y) continue;
else{
printf("%d ", i * k - Y);
flag = 0;
}
}
if(flag) printf("-1");
return 0;
}