首页 > 其他分享 >1.18

1.18

时间:2025-01-18 21:09:43浏览次数:1  
标签:int 1.18 static nowy str nowx include

A

签到题,没啥可说的

#include<iostream>
#include<cstring>
using namespace std;

const int N = 110;

int n,m;
int x[N],y[N];

void solve() {
	memset(x, 0, sizeof(x));
	memset(y, 0, sizeof(y));
	
	for(int i = 1; i <= n;i++) {
		cin>>x[i]>>y[i];
	}
	
	int sum1 = 0, sum2 = 0;
	for(int i = 1; i <= n; i++) {
		sum1 += x[i];
		x[i] = sum1;
		sum2 += y[i];
		y[i] = sum2;
	}
	
	pair<int,int>zuoshang;
	zuoshang.first = sum1;
	zuoshang.second = sum2 + m;
	pair<int,int>youxia;
	youxia.first = sum1 + m;
	youxia.second = sum2;
	
	int l = youxia.first - x[1];
	int r = zuoshang.second - y[1];
	int ans = l * 2 + r * 2;
	cout<<ans<<endl; 
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	
	
	int t;
	cin>>t;
	
	while(t--) {
		cin>>n>>m;
		//n 是次数,m是length
		solve(); 
	}
	
	return 0;	
}

B

  • 网上有人说是拓扑排序,我这里是直接从小到大检索,有几个比他小就说明后面要多空几个位置。
#include<iostream>
#include<cstring>
using namespace std;

const int N = 1e3 + 10;

int n;
int g[N][N];
string s[N];
int ans[N];
bool str[N];

void solve() {
	memset(str, false, sizeof(str));
	memset(g, 0, sizeof(g));
	memset(ans, 0, sizeof(ans));
	
	cin>>n;
	for(int i = 1; i <= n; i++) {
		cin>>s[i];
	}
	
	
	for(int i = 1; i <= n; i++) {
		for(int j = 0; j < i - 1; j++) {
			if(s[i][j] == '1') {
				s[i][j] = '0';
			}
		}
	}
	
	memset(str, false, sizeof(str));
	
	for(int i = 1; i <= n; i++) {
		int ant = 0;
		
		for(int j = 0; j < n; j++) {
			if(s[i][j] == '1') {
				ant++;
			}
		}
		
		int num = 0;
		
		for(int k = n  - ant + 1; k <= n; k++) {
			if(!str[k]) {
				num++;
			}
		}
		
		for(int k = n  - ant; k >= 1; k--) {
			if(!str[k] && num == ant) {
				str[k] = true;
				ans[k] = i;
				break;
			}

			if(!str[k]) {
				num++;
			}
		}
	}
//	1
//3
//000
//001
//010
//3 2 1
	for(int i = 1; i <= n ; i++) {
		cout<<ans[i]<<" ";
	}
	
	cout<<endl;
	
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	
	
	int t;
	cin>>t;
	
	while(t--) {
		solve();
	}
	
	return 0;	
}





C

  • 简化问题后,就是只要我们保持最长为3,个数就是每增加一个字符,个数增加两个就ok
  • 我们发现就是1 2 X X 1 2 会发现1 X 1或者2 X 2每插入一个数字就会长度为3的两个个回文串,只要保证我们插入的XX相异即可。
#include<iostream>
#include<cstring>
using namespace std;

const int N = 1e3 + 10;

int n;
//个数增多,但是不能增长 

void solve() {
	cin>>n;
	if(n == 6) {
		cout<<"1 1 2 3 1 2"<<endl;
		return;
	}
	for(int i = 1; i <= n - 2; i++) {
		cout<<i<<" "; 
	}
	cout<<"1 2"<<endl;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	
	
	int t;
	cin>>t;
	
	while(t--) {
		solve();
	}
	
	return 0;	
}


搜索

import java.util.Scanner;

public class Main {
    static final int N = 110;
    static int n, m;
    static String[] s = new String[N];
    static int[][] g =  new int[N][N];
    static boolean[][] str = new boolean[N][N];
    static int[] dx = {1, 0, -1, 0};
    static int[] dy = {0, 1, 0, -1};
    
    public static void dfs(int x, int y) {
    	for(int i = 0; i < 4; i++) {
    		int nowx = x + dx[i];
    		int nowy = y + dy[i];
    		if(!str[nowx][nowy] && g[nowx][nowy] != 0) {
    			str[nowx][nowy] = true;
    			dfs(nowx, nowy);
    		}
    	}
    }
    
    public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		n = scanner.nextInt();
		m = scanner.nextInt();
		
		for(int i = 1; i <= n; i++) {
			s[i] = scanner.next();
		}
		
		for(int i = 1; i <= n; i++) {
			for(int j = 0; j < m; j++) {
				g[i][j + 1] = s[i].charAt(j) - '0';
			}
		}
		
		
		int ans = 0;
		
		for(int i = 1; i <= n; i++) {
			for(int j = 1; j <= m; j++) {
				if(g[i][j] != 0 && !str[i][j]) {
					str[i][j] = true;
					dfs(i, j);
					ans++;
				}
			}
		}
		
		System.out.println(ans);
		
		return;
	}
}
#include<iostream>
#include<cstring>
using namespace std;

const int N = 1e2 + 10;
int n,m;
string s[N];
int g[N][N];
bool str[N][N];
int dx[] = {1, 0, -1, 0};
int dy[] = {0, 1, 0, -1};

void dfs(int x, int y) {
	
	for(int i = 0; i < 4; i++) {
		int nowx = x + dx[i];
		int nowy = y + dy[i];
		if(!str[nowx][nowy] && g[nowx][nowy] != 0) {
			str[nowx][nowy] = true;
			dfs(nowx, nowy);
		}
	}
}


int main() {
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	
	cin>>n>>m;
	
	
	 
	for(int i = 1; i <= n; i++) {
		cin>>s[i];
	}
	
	for(int i = 1; i <= n; i++) {
		for(int j = 0; j < m; j++) {
			g[i][j + 1] = s[i][j] - '0';
		}
	}
	
	int ans = 0;
	
	for(int i = 1; i <= n; i++) {
		for(int j = 1; j <= m; j++) {
			if(g[i][j] != 0 && !str[i][j]) {
				str[i][j] = true;
				dfs(i, j);
				ans++;
			}
		}
	}
	
	cout<<ans<<endl;
	
	
	return 0;	
}

标签:int,1.18,static,nowy,str,nowx,include
From: https://www.cnblogs.com/Mikkeykarl/p/18678874

相关文章

  • 1.18
    HTML超链接的使用今日学习超链接文本链接使用一对标签格式:<href="目标URL"target="目标窗口">指针文本target属性_blank新窗口_self当前窗口_parent父窗口_top整个窗口框架名称......
  • 2025.1.1-2025.1.18
    期末周这些天是期末周,考着考着有些科就出了成绩大学的期末考试更加应试,更加简单,要想取得好成绩完全可以靠期末周突击考试很显然,我没有应试的那个态度,复习的很潦草,没什么动力要想取得好绩点,我通过这次期末考试也得到了一些经验:1,往年的习题----很有可能再考2.平......
  • [2025.1.18 JavaSE学习]标准I/O流 && 转换流
    标准I/O流System.in:标准输入默认设备:键盘类型:InputStreamSystem.out:标准输出默认设备:显示器类型:PrintStreamSystem.in编译类型为InputStream,而运行类型为BufferedInputStreampublicfinalstaticInputStreamin=null;System.out编译类型为PrintStream,运行类......
  • 2025.1.18 JavaScript基础
    1、变量的定义var变量名例如:<html> <body> <scripttype="text/javascript"> functionzhaoling(){ n=Number(document.form1.txt1.value); if(n!=parseInt(n/1)||n<1||n>100) { alert("请输入一个1-100的整数"); ......
  • 2024.11.18(maven )
    Maven生命周期和插件Maven的构建过程是由一系列的生命周期和插件来管理的。了解Maven的生命周期和插件,有助于理解项目的构建过程,以及在构建过程中可以执行哪些任务。Maven生命周期Maven生命周期是一系列阶段的集合,定义了项目的构建过程。常用的生命周期包括:clean:清理项目,......
  • 11.18
    总的来说,在预训练阶段,DeepSeek-V3每处理1万亿个词元仅需18万小时的H800GPU时间,使用配备2048块H800GPU的集群,只需3.7天即可完成。整个预训练耗时不到两个月,总计使用266.4万GPU小时。此外,上下文长度扩展耗费11.9万GPU小时,后期训练(如监督微调和强化学习)耗费5......
  • 11.18
    类图(ClassDiagram)用途:类图是UML中最常用的图之一,用于描述系统中的类、类的属性、操作以及类之间的关系。它是对系统静态结构的一种直观展示,有助于理解系统的架构和设计模式。元素构成:类(Class):用矩形表示,分为三层,最上层是类名,中层是属性(格式为[可见性]属性名:类型,如“-......
  • 24.11.18 系统优化
    修改默认的yum仓库默认仓库都是国外的,下载软件的速度慢CentOS默认仓库是随机的 可能是阿里云,清华大学,重庆大学,也可能是北电 个人也可以搭建yum仓库(软件的仓库) 第一步:找到阿里云的仓库链接https://opsx.alibaba.com/第二步:备份默认的仓库mv/etc/yum.repos.d/CentOS-Bas......
  • docker配置国内镜像2024.11.18更新
    根据最新的搜索结果,以下是一些国内可用的Docker镜像源配置,你可以按照以下步骤进行配置:创建或修改Docker配置文件:在Linux系统中,你需要修改或创建/etc/docker/daemon.json文件。如果文件不存在,你可以使用以下命令创建它:sudomkdir-p/etc/dockersudotee/etc/docker/daemon......
  • 11.18
    使用分析器是一种帮助我们找到要优化的代码的非常好的方式,但也有它的问题。• 分析器无法告诉你有更高效的算法可以解决当前的计算性能问题。去优化一个低效的算法只是浪费时间。• 对于会执行许多不同任务的待优化的程序,分析器无法给出明确的结果。例如,一个SQL 数据库在执行 ......