news 2026/6/22 5:24:38

P1319 压缩技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P1319 压缩技术

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { // 动态读取所有压缩码数字 int* codes = NULL; int count = 0; int capacity = 10; int num; // 初始分配内存 codes = (int*)malloc(capacity * sizeof(int)); // 读取所有数字 while (scanf("%d", &num) == 1) { if (count >= capacity) { // 扩大容量 capacity *= 2; int* temp = (int*)realloc(codes, capacity * sizeof(int)); if (temp == NULL) { printf("内存分配失败\n"); free(codes); return 1; } codes = temp; } codes[count++] = num; } // 第一个数字是 N int N = codes[0]; // 创建 N×N 的矩阵为一行 int* matrix = (int*)malloc(N*N * sizeof(int)); // 填充矩阵 int current = 0; // 当前填充的数字(0 或 1) int code_index = 1; // 从第二个数字开始(第一个是N) int remaining = codes[code_index]; // 当前数字还需要填充的次数 for (int i = 0; i < N * N; i++) { if (remaining == 0) { code_index++; current = 1 - current; remaining = codes[code_index]; } matrix[i] = current; remaining--; } // 输出矩阵 for (int i = 1; i <= N * N; i++) { printf("%d", matrix[i - 1]); if (i % N == 0) { printf("\n"); } } // 释放内存 free(matrix); free(codes); return 0; }

我的思路是将需要打印的方阵看成一行,在输出时只需要判断输出的一行数字有无到达N个,再输出换行符。这样就避免了给数组赋值时考虑行号与列号的变换。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 9:33:13

sxstrace.exe

sxstrace.exe找了个老版本的&#xff0c;嘿嘿

作者头像 李华
网站建设 2026/6/22 9:40:49

通信系统仿真:数字调制与解调技术_(29).通信系统性能评估

通信系统性能评估 在通信系统的设计和优化过程中&#xff0c;性能评估是一个至关重要的环节。通过性能评估&#xff0c;我们可以验证系统的设计是否满足预定的性能指标&#xff0c;发现系统中的潜在问题&#xff0c;并进行相应的优化。本节将详细介绍通信系统性能评估的基本原理…

作者头像 李华
网站建设 2026/6/15 9:33:38

Matlab/Simulink 下多风电场协调虚拟惯性与调频控制探索

matlab/simulink多风电场协调的虚拟惯性&#xff0c;下垂控制一次调频&#xff0c;风电渗透率可调&#xff0c;目前为20%。 所有参数均设计好&#xff0c;可直接运行。 可加入超速减载&#xff0c;变桨控制&#xff0c;频率二次跌落转速回复设计。 多个风电场协调更符合实际&am…

作者头像 李华
网站建设 2026/6/20 12:26:32

HarmonyOS6新特性

鸿蒙 6 新特性 鸿蒙 6&#xff08;HarmonyOS 6 / HarmonyOS NEXT 相关版本&#xff09;在语言、UI 框架、多设备协同、AI、图形、多媒体以及工具链等方面都进行了大幅升级&#xff0c; 下面按特性维度逐一梳理&#xff0c;方便你直接作为设计 / 开发文档使用。 一、ArkTS 原生应…

作者头像 李华