关注
消消乐的代码,我第二题是消消乐,第一题是字母转换,不太一样.发一下第二题的. 第一题的找不到了..我直接删掉了 #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
相关推荐
05-28 19:51
黄河交通学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开提前批了? #
19929次浏览 223人参与
# 实习如何「偷」产出? #
42978次浏览 1067人参与
# 校招阶段,学历VS技术哪个更重要? #
15142次浏览 170人参与
# 除了主业以外,你还有哪些其他收入? #
9716次浏览 172人参与
# 不卡学历的大厂有哪些? #
23404次浏览 178人参与
# 职场新人体验 #
20126次浏览 186人参与
# 风评不好的公司,你会去吗? #
49897次浏览 373人参与
# 实习打杂,要跑路吗 #
16373次浏览 193人参与
# 硬件人求职现状 #
434014次浏览 4539人参与
# 校园里的破防时刻 #
9424次浏览 108人参与
# 你今年的平均薪资是多少? #
133346次浏览 680人参与
# 社恐入职新公司如何融入团队 #
11542次浏览 63人参与
# 腾讯音乐求职进展汇总 #
97726次浏览 570人参与
# 你投递的公司有几家约面了? #
108336次浏览 775人参与
# 歌尔求职进展汇总 #
58180次浏览 339人参与
# Offer比较,你最看重什么? #
191196次浏览 1300人参与
# 你的秋招第一面感觉怎么样 #
74642次浏览 575人参与
# 正在实习的碎碎念 #
1453607次浏览 13467人参与
# 实习时,大家都怎么称呼自己的mentor? #
43587次浏览 273人参与
# 摸鱼被leader发现了怎么办 #
61130次浏览 371人参与