河工oj第七周补题题解2024

A.GO LecturesⅠ—— Victory

GO LecturesⅠ—— Victory - 问题 - 软件学院OJ

 代码

统计

#include<bits/stdc++.h>
using namespace std;

double b, w;

int main() {
	
	for(int i = 1; i <= 19; i ++) {
		for(int j = 1; j <= 19; j ++) {
			char ch; cin >> ch;
			if(ch == 'B') b ++;
			else w ++;
		}
	}
	if(b-7.5>w) puts("Black");
	else puts("White");
	return 0;
}

B.GO LecturesⅡ—— Liberty

GO LecturesⅡ—— Liberty - 问题 - 软件学院OJ

 

代码 

在所给的位置上就地搜索。dfs搜索四个方向。

#include<bits/stdc++.h>
using namespace std;

const int N = 50;
char g[N][N];
int vis[N][N];
int n;
int ans;
int dx[4] = {0,-1,0,1},dy[4] = {-1,0,1,0};

void dfs(int x, int y) {
	vis[x][y] = 1;
	
	for(int i = 0; i < 4; i ++) {
		int a = x+dx[i], b = y+dy[i];
		if(a<0||b<0||b>=n||a>=n) continue;
		if(!vis[a][b] && g[a][b]=='*') {
			ans ++, vis[a][b] = 1;
		}
		else if(!vis[a][b] && g[a][b] == g[x][y]) {
			dfs(a,b);
		}
	}
}

int main() {
	cin >> n;
	for(int i = 0; i < n; i ++) {
		for(int j = 0; j < n; j ++) {
			cin >> g[i][j];
		}
	}
	
	int x, y;
	cin >> x >> y;//下标从1开始的,偏移一下,我这从0开始输入 
	dfs(x-1,y-1);
	
	cout << ans << endl;
	return 0;
}

C.GO Lectures Ⅲ—— Gambling

 

代码 

第二个代码有解释。先处理!last再处理last,因为 last落子要除掉!last。

#include<bits/stdc++.h>
using namespace std;

const int N = 50;
char g[N][N];
int vis[N][N], num[N][N]; // 标记以及气数 
int cnt;

int dx[4] = {-1,0,1,0},dy[4] = {0,-1,0,1};

// 找某位置连通块气数
void dfs(int x,int y) {
	vis[x][y] = 1;
	
	for(int i = 0; i < 4; i ++) {
		int a = x+dx[i], b = y+dy[i];
		if(a<1||b<1||a>9||b>9) continue;
		
		if(!vis[a][b] && g[a][b]=='*') {
			cnt ++, vis[a][b] = 1;
		}
		else if(!vis[a][b] && g[a][b] == g[x][y]) 
			dfs(a,b);
	}
} 

int main() {
	char last; cin >> last;
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			cin >> g[i][j];
		}
	}
	
	// 找非last 气数以及替换
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j] != last && g[i][j]!='*') {
				memset(vis,0,sizeof vis); cnt = 0;
				
				dfs(i,j); num[i][j] = cnt;
			}
		}
	} 
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j]!=last && !num[i][j]) {
				g[i][j] = '*';
			}
		}
	}
	
	//last 气数以及替换
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j]==last && g[i][j]!='*') {
				memset(vis,0,sizeof vis); cnt = 0;
				
				dfs(i,j); num[i][j] = cnt;
			}
		}
	} 
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j]==last && !num[i][j]) {
				g[i][j] = '*';
			}
		}
	}
	
	// 输出
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			cout << g[i][j];
		}
		puts("");
	} 
	return 0;
}

加函数封装简短一点

#include<bits/stdc++.h>
using namespace std;

const int N = 50;
char g[N][N];
int vis[N][N], num[N][N];
int cnt;

int dx[4] = {-1,0,1,0}, dy[4] = {0,1,0,-1};
//找气数 
void dfs(int x, int y) {
	vis[x][y] = 1;
	
	for(int i = 0; i < 4; i ++) {
		int a = x+dx[i], b = y+dy[i];
		if(a<1||b<1||a>9||b>9) continue;
		
		if(!vis[a][b] && g[a][b]=='*') {
			cnt ++, vis[a][b] = 1;
		}
		else if(!vis[a][b] && g[a][b]==g[x][y]) {
			dfs(a,b);
		}
	}
}
// 找ch气数
void find(char ch) {
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j]==ch) { //三种元素多加一个!='*' 判断。
			//用函数封装了不加也可以,传newlast 
				memset(vis,0,sizeof vis); cnt = 0;
				dfs(i,j); num[i][j] = cnt;
			}
		}
	}
} 
//替换 ch
void solve(char ch) {
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			if(g[i][j]==ch && !num[i][j]) 
				g[i][j]= '*';
		}
	}
} 

int main() {
	char last; cin >> last;
	//要先处理非最后一个落子的,因为last 要除去 newlast 
	
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			cin >> g[i][j];
		}
	}
	char newlast;
	if(last == 'B') newlast = 'W';
	else newlast = 'B';
	
	find(newlast); solve(newlast);
	
	find(last); solve(last);
	
	// 处理完输出
	for(int i = 1; i <= 9; i ++) {
		for(int j = 1; j <= 9; j ++) {
			cout << g[i][j];
		}
		puts("");
	} 
	return 0;
}
 

D.1726: Advanced InferenceⅠ

Advanced InferenceⅠ - 问题 - 软件学院OJ

代码

对1取模都是0,满1为0。

#include<bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
	ll n, k;
	cin >> n >> k;
	cout << 0 << endl;
	return 0;
}

E.Advanced Inference Ⅱ

Advanced Inference Ⅱ - 问题 - 软件学院OJ

代码

常数的导数 是0

#include<bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
	ll n, k;
	cin >> n >> k;
	cout << 0 << endl;
	return 0;
}

F. Advanced Inference Ⅲ

Advanced Inference Ⅲ - 问题 - 软件学院OJ

代码 

n阶求导是 k*n! 

如果n < 10   k*n!

如果n>=10 k*n! 对n-2 取模是0,因为其中有(n-2) 因子

#include<bits/stdc++.h>
using namespace std;

using ll = long long;
ll n, k;
ll ans;

int main() {
	cin >> k >> n;
	if(n>=10) cout << 0 << endl;
	else {
		ans = k;
		for(int i = 1; i <= n; i ++) {
			ans *= i;
		}
		cout << ans << endl;
	}
	
	return 0;
}

G.Intemperance Ⅰ

Intemperance Ⅰ - 问题 - 软件学院OJ

代码 

#include<bits/stdc++.h>
using namespace std;

using ll = long long;
ll n, m;
const int N = 1e6+10;
ll a[N];


int main() {
	cin >> n >> m;
	ll w = 0, ans = 1;
	for(int i = 1; i <= n; i ++) cin >> a[i];
	
	for(int i = 1; i <= n; i ++) { 
		if(w+a[i]<=m) {
			w += a[i];
		}
		else { // 当前满了 
			ans ++; 
			w = a[i];//更新重装本轮 
		}
	}
	
	cout << ans << endl;
	return 0;
}

H.Intemperance Ⅱ

Intemperance Ⅱ - 问题 - 软件学院OJ

代码 

#include<bits/stdc++.h>
using namespace std;

int n;
int sum = 0, length;
int main() {
	cin >> n;
	int t = n;
	for(int i = 1; sum <= n; i += 2,sum+=i) {
		length ++;
	}
	cout << length << endl;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/934808.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开源架构安全深度解析:挑战、措施与未来

开源架构安全深度解析&#xff1a;挑战、措施与未来 一、引言二、开源架构面临的安全挑战&#xff08;一&#xff09;代码漏洞 —— 隐藏的定时炸弹&#xff08;二&#xff09;依赖项安全 —— 牵一发而动全身&#xff08;三&#xff09;社区安全 —— 开放中的潜在危机 三、开…

Ubuntu上使用system()函数运行不需要输入密码

使用system()运行一些终端命令的时候&#xff0c;需要sudo权限&#xff0c;也就是必须输入密码&#xff0c;那么在程序自启动的时候就无法成功启动。如果设置Ubuntu下所有操作都不需要密码&#xff0c;安全性太低&#xff0c;所以我们可以将需要用到的终端指令给予无需输入密码…

HBuilderX(uni-app)Vue3路由传参和接收路由参数!!

uni-app搭建小程序时候Vue3语法接收路由参数&#xff0c;去官方文档查看&#xff0c;是onLoad的option接收参数&#xff0c;我试过&#xff0c;接收不到&#xff0c;上网查各种方法也是不太行&#xff0c;最后自己琢磨出来了&#xff0c;这参数藏得还挺深&#xff01;&#xff…

操作系统(1)OS的基本概念

一、定义 操作系统&#xff08;OS&#xff09;是控制和管理整个计算机系统的硬件与软件资源&#xff0c;并合理地组织、调度计算机的工作与资源的分配&#xff0c;进而为用户和其他软件提供方便接口与环境的程序集合。它是计算机系统中最基本的系统软件。 二、功能 资源管理&am…

gridcontrol多行表头

效果如下 只需这样做,设置该属性为对应的值

Formality:set_svf命令

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 svf文件的全称是Setup Verification for Formality&#xff0c;即Design Compiler提供给Formality的设置验证文件&#xff0c;它的作用是为Formality的指导模式(Gui…

【蓝桥杯每日一题】重新排序

重新排序 2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分 题目大意 给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,​Ri​, 求数组中第 L i L_i Li​至第 R i R_i Ri​个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能…

LabelImg使用教程

(yolov5scondaPython3123) D:\PyCharm20240724\20240724PyCharmProject>conda.bat deactivate D:\PyCharm20240724\20240724PyCharmProject>conda activate labelimg_env (labelimg_env) D:\PyCharm20240724\20240724PyCharmProject> labelimg 创建快捷键方式

洛谷 P1179 [NOIP2010 普及组] 数字统计 C语言

题目&#xff1a; https://www.luogu.com.cn/problem/P1179 思路&#xff1a;直接暴力过 代码&#xff1a; #include<iostream> using namespace std; int cnt(int x) {int sum 0;while(x){int temp x %10;if(temp 2){sum;}x x/10;}return sum; } int main(void) …

练9:进制转换

欢迎大家订阅【蓝桥杯Python每日一练】 专栏&#xff0c;开启你的 Python数据结构与算法 学习之旅&#xff01; 文章目录 1 进制转换2 例题分析 1 进制转换 ①任意制转为十进制 【示例】 ②十进制转为任意制 【法一】 【法二】 2 例题分析 题目地址&#xff1a;https:/…

【ComfyUI+多视图生成】MV-Adapter:多视图一致性图片生成(2024.12.09基于SDXL开源)

源码&#xff1a;https://github.com/huanngzh/MV-Adapter ComfyUI扩展&#xff1a;https://github.com/huanngzh/ComfyUI-MVAdapter 项目主页&#xff1a;https://huanngzh.github.io/MV-Adapter-Page/ 论文&#xff1a;2412.MV-Adapter: Multi-view Consistent Image Generat…

《机器学习》2.4假设检验 t分布 F分布

目录 t发布 注意是这个东西服从t分布 数据服从t分布通常是在以下情况下&#xff1a; 以下是一些具体的例子&#xff0c;说明在何种情况下数据会服从t分布&#xff1a; t检验 交叉验证t检验 样本方差​编辑 F分布&#xff08;fisher Friedman检验是一种非参数统计方法&a…

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。 目录 图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基…

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之计数器与累加器(一)

学习背景&#xff1a; 在现实生活中一些需要计数的场景下我们会用到计数器&#xff0c;如空姐手里记录乘客的计数器&#xff0c;跳绳手柄上的计数器等。累加器是累加器求和&#xff0c;以得到最后的结果。计数器和累加器它们虽然是基础知识&#xff0c;但是应用广泛&#xff0…

计算机毕业设计Python动物图像识别分类系统 机器学习 深度学习 数据可视化 爬虫 卷积神经网络CNN 预测算法 图像识别

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

ASP.NET Core API + MySql

环境 数据库&#xff1a; mysql8.0 后端&#xff1a; vs2022 ASP.NET Core API .net 8 前端&#xff1a; Hbuilderx bootstrap 5.3.0 jquery v3.7.1 bootstrap-table 1.23.5 创建项目 添加资源包 AutoMapper Microsoft.EntityFrameworkCore.Tools 8.0.0 Pomelo.EntityFramew…

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

声明 因为这份文档我是边做边写的&#xff0c;遇到问题重新装了好几次所以IP会很乱 ESXI主机为192.168.20.10 VCSA为192.168.20.7&#xff0c;后台为192.168.20.7:5480 后期请自行对应&#xff0c;后面的192.168.20.57请对应192.168.20.7&#xff0c;或根据自己的来 第一阶段…

【QT】:QT(介绍、下载安装、认识 QT Creator)

背景 &#x1f680; 在我们的互联网中的核心岗位主要有以下几种 开发&#xff08;程序员&#xff09;测试运维&#xff08;管理机器&#xff09;产品经理&#xff08;非技术岗位&#xff0c;提出需求&#xff09; 而我们这里主要关注的是开发方向&#xff0c;开发岗位又分很…

STM32 出租车计价器系统设计(一) 江科大源码改写

STM32 出租车计价器系统设计 功能目标 驱动步进电机模拟车轮旋转&#xff0c;并实现调速功能。 设置车轮周长和单价&#xff0c;检测车轮转速和运转时间。 计算并显示行驶里程和价格。 硬件材料 28BYJ48 五线四相步进电机和 ULN2003 驱动板模块 测速传感器模块 嵌入式小系统…

Datawhale AI冬令营(第一期)--零基础定制你的专属大模型

本文主要简述如何快速完成和一些小细节 第一步下载嬛嬛数据集 数据来源&#xff1a;self-llm/dataset/huanhuan.json at master datawhalechina/self-llm GitHub 注意:1.一定是数据集下载完成一定是.json结尾的 2.这个是github的网址&#xff0c;可能会遇到打不开的情况 …