祝融传火(试水)

一段时间没写代码了,今天试水一道直接寄了

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m, h, w;
ll a[1010][1010];
int main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			cin >> a[i][j];
		}
	}
	cin >> h >> w;
	ll sign = 0;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			if ((i + h - 1 <= n) && (j + w - 1 <= m))   // 添加边界条件判断
			{
				if ((a[i][j] == a[i + h - 1][j]) && (a[i][j] == a[i][j + w - 1]) && (a[i][j] == a[i + h - 1][j + w - 1]))
				{
					sign++;
				}
			}
		}
	}
	if (sign > 0)
	{
		cout << "YES" << endl;
	}
	else
	{
		cout << "NO" << endl;
	}
	return 0;
}

第一个问题:范围问题 因为a[i + h - 1][j]和a[i][j + w - 1],所以数组范围不再是a[1010][1010]

第二个问题:扩大范围后,又忘了数组越界这回事了,毕竟数组越界的0也是可能符合题意的数据

总结:还是得天天练习,不然就寄了

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPO描述: 输入:《三国演义》文本文件 处理:统计每个典型人物名字在文本中出现的次数 输出:每个典型人物名字在文本中出现的次数,按照出现次数从高到低排序 算法部分: 1. 读取《三国演义》文本文件,将其转化为字符串。 2. 定义一个字典,用于存储每个典型人物名字在文本中出现的次数。 3. 遍历文本字符串,对于每个典型人物名字,使用正则表达式匹配其出现的次数,并将其存储到字典中。 4. 对字典按照值进行排序,得到每个典型人物名字在文本中出现的次数,按照出现次数从高到低排序。 5. 输出排序后的结果。 代码实现: import re def count_characters(filename): with open(filename, 'r', encoding='utf-8') as f: text = f.read() characters = ['曹操', '刘备', '孙权', '诸葛亮', '周瑜', '关羽', '张飞', '赵云', '马超', '黄忠', '魏延', '姜维', '庞统', '徐庶', '司马懿', '张辽', '许褚', '夏侯惇', '夏侯渊', '张郃', '于禁', '甄姬', '貂蝉', '黄月英', '孟获', '祝融', '大乔', '小乔', '甘宁', '吕布', '华佗', '袁绍', '袁术', '董卓', '吕蒙', '陆逊', '周泰', '凌统', '丁奉', '孙策', '孙坚', '鲁肃', '华雄', '公孙瓒', '颜良', '文丑', '张角', '于吉', '蔡文姬', '荀彧', '程昱', '郭嘉', '贾诩', '荀攸', '徐晃', '典韦', '许攸', '高顺', '张任', '张昭', '张纮', '吕葆中', '吕虔', '吕翔', '陈宫', '田丰', '沮授', '逢纪', '刘表', '刘璋', '刘备妻妾', '孙尚香', '甘夫人', '黄月英', '王异', '糜夫人', '孙夫人', '大乔', '小乔', '步练师', '貂蝉', '王允', '董卓部下', '华雄部下', '董卓女儿', '吕布部下', '袁绍部下', '袁术部下', '曹操部下', '刘备部下', '孙权部下', '蜀汉臣子', '魏国臣子', '吴国臣子', '群雄', '其他'] character_count = {} for character in characters: pattern = re.compile(character) count = len(pattern.findall(text)) character_count[character] = count sorted_count = sorted(character_count.items(), key=lambda x: x[1], reverse=True) for item in sorted_count: print(item[0], item[1]) count_characters('sanguoyanyi.txt')

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值