关注
消消乐的代码,我第二题是消消乐,第一题是字母转换,不太一样.发一下第二题的. 第一题的找不到了..我直接删掉了 #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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的求职总结 #
33440次浏览 543人参与
# 国企vs私企,怎么选? #
20723次浏览 169人参与
# 一人一个landing小技巧 #
39760次浏览 710人参与
# 怎么防止在试用期被辞退 #
118266次浏览 888人参与
# 辞职之后最想做的一件事 #
12250次浏览 175人参与
# 选offer应该考虑哪些因素 #
23863次浏览 337人参与
# 毕业季,给职场新人一些建议 #
32495次浏览 523人参与
# 硬件开发岗知多少 #
10414次浏览 111人参与
# 薪资一样,你会选择去大厂还是小公司 #
17166次浏览 105人参与
# 机械专业只有考研才有出路吗 #
102196次浏览 857人参与
# 小米硬件提前批进度交流 #
165103次浏览 1516人参与
# 字节跳动工作体验 #
394329次浏览 4312人参与
# 校招第一份工作你干了多久? #
68805次浏览 337人参与
# 为了秋招你都做了哪些准备? #
11380次浏览 173人参与
# 你想吐槽公司的哪些规定 #
18348次浏览 71人参与
# 晒一晒你收到的礼盒 #
63272次浏览 378人参与
# 机械人值得去的国央企 #
59730次浏览 406人参与
# 你见过最离谱的招聘要求是什么? #
189043次浏览 1405人参与
# bilibili求职进展汇总 #
60176次浏览 583人参与
# 我的工作日记 #
101100次浏览 1281人参与