关注
消消乐的代码,我第二题是消消乐,第一题是字母转换,不太一样.发一下第二题的. 第一题的找不到了..我直接删掉了 #include<bits/stdc++.h>
using namespace std;
int helper(vector<vector<int>>&nums, int i, int j)
{
int ret = 1;
int cur = nums[i][j];
if (i < 0 || j < 0 || i >= 5 || j >= 5 || nums[i][j] == 0)
return 0;
nums[i][j] = 0;
if (i >= 1 && nums[i - 1][j]==cur)
{
ret += helper(nums, i - 1, j);
}if (j >= 1 && nums[i][j - 1] == cur)
{
ret += helper(nums, i, j - 1);
}if (i <= 3 && nums[i + 1][j] == cur)
{
ret += helper(nums, i + 1, j);
}
if (j <= 3 && nums[i][j + 1] == cur)
{
ret += helper(nums, i, j + 1);
}
return ret;
}
// 消除并且把上面的落下来
void funcDrop(vector<vector<int>>&nums, int i, int j)
{
for (int j = 0;j < 5; j++)
{
int count = 4;
for (int i = 4; i >= 0; i--)
{
if (nums[i][j] != 0)
{
nums[count--][j] = nums[i][j];
}
}
for (int i = count; i >= 0; i--)
{
nums[i][j] = 0;
}
}
return;
}
int func(vector<vector<int>>&nums)
{
int ret = INT_MAX;
vector<vector<int>>tmp = nums;
int tag = 1;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
tmp = nums;
// 假设点击这个
int count = helper(tmp, i, j);
if (count >= 3)
{
// 吧当前消除并且上面的落下来...
funcDrop(tmp, i, j);
ret = min(ret, func(tmp));
tag = 0;
}
}
}
// 表示当前的矩阵不能在消除了
if (tag)
{
int count = 0;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (nums[i][j] != 0)
{
count++;
}
}
}
return count;
}
return ret;
}
int main()
{
vector<vector<int>>nums(5, vector<int>(5, 0));
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
cin >> nums[i][j];
}
}
cout << func(nums) << endl;
return 0;
}
查看原帖
点赞 7
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-08 10:19
西北农林科技大学 产品经理
坦荡的牛油果拿到了s...:简历最好压缩在一页,期望职位和其他没必要单独一个板块,竞赛经历合并到教育经历里,而且最好获奖了才写。最重要的是实习经历,写得有点简单 一眼看不出来参与的项目具体是什么,具体需求、问题是怎么挖掘、分析、解决的。但是才大一就这么卷了吗 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
12371次浏览 166人参与
# 你的mentor是什么样的人? #
51154次浏览 721人参与
# 程序员找工作至少要刷多少题? #
21230次浏览 272人参与
# 我和mentor的爱恨情仇 #
106280次浏览 948人参与
# 论秋招对个人心气的改变 #
13467次浏览 188人参与
# 机械人避雷的岗位/公司 #
44147次浏览 309人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6043次浏览 182人参与
# 秋招落幕,你是He or Be #
54237次浏览 618人参与
# 校招第一份工作你干了多久? #
136663次浏览 597人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
47409次浏览 290人参与
# 设计人如何选offer #
189716次浏览 868人参与
# 考公VS就业,你怎么选? #
91988次浏览 507人参与
# 职场上哪些行为很加分? #
322575次浏览 3601人参与
# 你的秋招进行到哪一步了 #
2530928次浏览 23253人参与
# 牛客AI体验站 #
7757次浏览 210人参与
# 机械人还在等华为开奖吗? #
312131次浏览 1582人参与
# 秋招投递记录 #
380930次浏览 3204人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2316次浏览 52人参与
# 我现在比当时_,你想录用我吗 #
9451次浏览 129人参与
# 重来一次,我还会选择这个专业吗 #
411280次浏览 3898人参与
查看9道真题和解析