首页 > 编程语言 >太戈编程26-30题AC答案(第六期)

太戈编程26-30题AC答案(第六期)

时间:2024-09-17 09:19:38浏览次数:3  
标签:26 return cout int 30 AC ++ ans include

26 扫雷游戏 普及-

#include <bits/stdc++.h>
using namespace std;
int main(){
    int m,n;
    cin>>m>>n;
    char x[m+2][n+2];
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++)
            cin>>x[i][j];
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            if(x[i][j]=='*')
                cout<<"*";
            else{
                int chans=0;
                if(x[i-1][j-1]=='*')
                    chans++;
                if(x[i-1][j]=='*')
                    chans++;
                if(x[i-1][j+1]=='*')
                    chans++;
                if(x[i][j-1]=='*')
                    chans++;
                if(x[i][j+1]=='*')
                    chans++;
                if(x[i+1][j-1]=='*')
                    chans++;
                if(x[i+1][j]=='*')
                    chans++;
                if(x[i+1][j+1]=='*')
                    chans++;
                cout<<chans;
            }
        }
        cout<<endl;
    }
    return 0;
}

27 工作分配 普及/提高-

#include <bits/stdc++.h>
using namespace std;
const int N = 21;
int n,m,c[N][N];
bool vis[N];
int ans=INT_MAX;
void dfs(int k, int sum){
    if(k>n){
           ans=min(sum, ans);
        return;
    }
       for(int i=1;i<=n;i++){
        if(!vis[i]){
            vis[i]=true;
            dfs(k+1,sum+c[k][i]);
            vis[i]=false;
        }
    }
}
int main(){
    freopen("work.in","r",stdin);
    freopen("work.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++) 
        scanf("%d", &c[i][j]);
    dfs(1,0);
    cout<<ans;
    return 0;
}

28 逃离迷宫 普及-

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int sx[8] = {0, 0, 1, 1, 1, -1, -1, -1};
int sy[8] = {1, -1, 0, 1, -1, 0, 1, -1};
int n, ans = 0;
int a[100][100], b[100][100];
void dfs(int s, int t)
{
    int x, y;
    if (s == 1 && t == n)
    {
        ans++;
        return;
    }
    for (int i = 0; i < 8; i++)
    {
        x = s + sx[i];
        y = t + sy[i];
        if (x > 0 && y > 0 && x <= n && y <= n && a[x][y] == 0 && b[x][y] == 0)
        {
            b[x][y] = 1;
            dfs(x, y);
            b[x][y] = 0;
        }
    }
    return;
}
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            cin >> a[i][j];
    memset(b, 0, sizeof(b));
    b[1][1] = 1;
    dfs(1, 1);
    cout << ans;
    return 0;
}

29 卡片排列 普及/提高-

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stdio.h>
using namespace std;
int main()
{
    int a[5], t[5], tag = 0, sum = 0;
    while (cin >> a[0] >> a[1] >> a[2] >> a[3])
    {
        for (int i = 0; i < 4; i++)
            for (int j = 0; j < 4 - i - 1; j++)
            {
                if (a[j] > a[j + 1])
                {
                    t[i] = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t[i];
                }
            }
        if (a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
            break;
        if (tag)
            printf("\n");
        tag = 1;
        int flag = 1, tmp;
        do
        {
            if (a[0] == 0)
                continue;
            if (flag)
            {
                printf("%d%d%d%d", a[0], a[1], a[2], a[3]);
                flag = 0;
            }
            else if (tmp == a[0])
                printf(" %d%d%d%d", a[0], a[1], a[2], a[3]);
            else
                printf("\n%d%d%d%d", a[0], a[1], a[2], a[3]);
            tmp = a[0];
        } while (next_permutation(a, a + 4));
        printf("");
        break;
    }
    return 0;
}

30 子集和 普及/提高-

#include <iostream>
#define N 10005
using namespace std;
long long n, m, a[N], i, j, k, ans, cnt, x, he;
int main()
{
    cin >> n >> m;
    for (i = 0; i < n; i++)
    {
        cin >> x;
        a[i] = x;
        he += x;
        if (x == m)
        {
            cout << "YES";
            return 0;
        }
    }
    for (j = 0; j < n; j++)
    {
        cnt = a[j];
        if (he - a[j] == m)
        {
            cout << "YES";
            return 0;
        }
        for (k = 0; k != j && k < n; k++)
        {
            ans = a[j] + a[k];
            if (ans == m)
            {
                cout << "YES";
                return 0;
            }
            if (he - ans == m)
            {
                cout << "YES";
                return 0;
            }
            cnt += a[k];
            if (cnt == m)
            {
                cout << "YES";
                return 0;
            }
            if (he - cnt == m)
            {
                cout << "YES";
                return 0;
            }
        }
        cnt = ans = 0;
    }
    cout << "NO";
    return 0;
}

标签:26,return,cout,int,30,AC,++,ans,include
From: https://blog.csdn.net/Fizz_Bizz/article/details/142311069

相关文章

  • macOS Sequoia 15 发布,iPhone 镜像、密码应用程序、窗口平铺更新等带来全新体验
    macOSSequoia15发布,iPhone镜像、密码应用程序、窗口平铺更新等带来全新体验2024年9月17日凌晨1点请访问原文链接:https://sysin.org/blog/macOS-Sequoia/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgTimCook领导的Apple今天发布了macOS15Sequoia......
  • error: rpmdb, failed: BDB1507 Thread died in Berkeley DB library,error(-30973) fro
    rpm数据库错误,一般原因:yum更新等rpm软件安装进程被异常终止[root@49bdfccd7f61~]#yuminstall-yxxxerror:rpmdb:BDB0113Thread/process22858/140222685267712failed:BDB1507ThreaddiedinBerkeleyDBlibraryerror:db5error(-30973)fromdbenv->failchk:BDB0......
  • mac 中安装 homebrew
    原链接:https://zhuanlan.zhihu.com/p/90508170官方教程:https://brew.idayer.com/ 1.写在前面curl:(7)Failedtoconnecttoraw.githubusercontent.comport443:Operationtimedout使用官方脚本遇到上面的错误提示:请按照下面「安装步骤」步骤执行。2.安装步骤如......
  • 3307:【例52.1】 不与最大数相同的数字之和
    3307:【例52.1】不与最大数相同的数字之和信息学奥赛一本通-编程启蒙(C++版)在线评测系统[例52.1]不与最大数相同的数字之和1113:不与最大数相同的数字之和信息学奥赛一本通(C++版)在线评测系统openjudge_1.9_07_不与最大数相同的数字之和openjudge_1.9_07_不与最大数......
  • EBS:OM Sales Order销售订单【Open Interface、Open API】
    21. OM Sales Order销售订单【Open Interface、Open API】21.1. 快速参考。参考点内容功能导航N: OM/Orders, Returns/Sales Order并发请求N: OM/View/Request/Order Import接口表oe_headers_iface_all/oe_lines_iface_all/oe_actions_iface_all/….APIoe_order_pub.pr......
  • VMware Avi Load Balancer 30.2.2 发布下载,新增功能概览
    VMwareAviLoadBalancer30.2.2-多云负载均衡平台应用交付:多云负载均衡、Web应用防火墙和容器Ingress服务请访问原文链接:https://sysin.org/blog/vmware-avi-load-balancer-30/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org负载均衡平台VMwareAviLoadBa......
  • docker-compose 安装activemq、rocketmq
    目录结构创建目录#activemq目录mkdir-p/docker/activemq/datamkdir-p/docker/activemq/conf#rocket目录mkdir-p/docker/rocketmq/broker1/confmkdir-p/docker/rocketmq/broker1/logsmkdir-p/docker/rocketmq/broker1/storemkdir-p/docker/rocketmq/names......
  • [cracked]Navicat Premium 16 安装记录
    准备工作Navicat16软件本体破解工具本体破解工具位于tools库内安装软件本体按照安装引导安装Navicat16关闭网络关闭网络连接打开破解工具点击patch&点击是打开Navicat16打开navicat的注册页面,回到破解工具点击Generate生成Keygen,点击Copy,粘贴到nav......
  • 用户空间实现文件系统的接口FUSE(Filesystem in Userspace)API介绍
    FUSE(FilesysteminUserspace)API是一种在用户空间实现文件系统的接口。一、FUSEAPI的作用它允许开发者在不修改内核代码的情况下,创建自定义的文件系统。通过FUSEAPI,你可以实现各种特殊用途的文件系统,比如网络文件系统、加密文件系统、虚拟文件系统等。二、工作原理用户空间程......
  • Cacti完全使用手册
    I.总览                        Cacti和Nagios的监控体系可以说是使用广泛而且支持丰富的国内外的运维人员都需要掌握的一套监控体系,这套体系的好处在于使用Cacti的强大画图和自定义画图能力,以及Nagios的可控报警。但是网上的大部......