京东笔试,一题消消乐,二题是否是连通迷宫,大家都过了多少?

rt    100  18#京东##笔试题目#
全部评论
消消乐的代码,我第二题是消消乐,第一题是字母转换,不太一样.发一下第二题的. 第一题的找不到了..我直接删掉了 #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; }
点赞 回复 分享
发布于 2019-08-24 22:58
tql 消消乐怎么做
点赞 回复 分享
发布于 2019-08-24 21:06
第二题最后提交了93.7的时候  时间截止了   我测试样例是过了    很痛苦
点赞 回复 分享
发布于 2019-08-24 21:33
我这里没有代码了, 我没保存   不是我不分享啊  我是真的就在赛码的网页里写的  没用自己的ide
点赞 回复 分享
发布于 2019-08-24 21:19
36 100
点赞 回复 分享
发布于 2019-08-24 21:18
求大佬给第一题代码
点赞 回复 分享
发布于 2019-08-24 21:17
大佬求分享思路
点赞 回复 分享
发布于 2019-08-24 21:16
大佬们跪求代码
点赞 回复 分享
发布于 2019-08-24 21:15
0   第二题dfs a了个样例超时了🤨
点赞 回复 分享
发布于 2019-08-24 21:15
可以发下代码不?说下思路也行😂
点赞 回复 分享
发布于 2019-08-24 21:14
package BISHI; import java.util.Arrays; import java.util.Scanner; /**  * 合唱队的N名学生站成一排且从左到右编号为1到N,其中编号为i的学生身高为Hi。 现在将这些学生分成若干组(同一组的学生编号连续),  * 并让每组学生从左到右按身高从低到高进行排列,使得最后所有学生同样满足从左到右身高 从低到高(中间位置可以等高),那么最多能将这些学生分成多少组?  * 合唱队的N名学生站成一排且从左到右编号为1到N,其中编号为i的学生身高为Hi。 现在将这些学生分成若干组(同一组的学生编号连续),  * 并让每组学生从左到右按身高从低到高进行排列,使得最后所有学生同样满足从左到右身高从低 到高(中间位置可以等高),那么最多能将这些学生分成多少组?  * 第一行包含一个整数N,1≤N≤10^5。  *   * 第二行包含N个空格隔开的整数H1到HN,1≤Hi≤10^9。 4 2 1 3 2  *   * @author gary  *  */ public class test4 {     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         while (scanner.hasNext()) {             int n = scanner.nextInt();             int[] a = new int[n];             int[] b = new int[n];             for (int i = 0; i < a.length; i++) {                 a[i] = scanner.nextInt();                 b[i] = a[i];             }             Arrays.sort(b);             int ans = 0;             int cha = 0;             int index = 0;             for (int i = 0; i < b.length; i++) {                 if (a[i] == b[i]) {                     ans++;                 } else {                     if (cha == 0) {                         index = i;                     //    System.out.println(index);                     }                     for (int j = index; j < b.length; j++) {                         if (a[i] == b[j]) {                             System.out.println(j-i);                             cha += j - i;                             if (cha == 0) {                                 ans+=i-index+1;                             }                             break;                         }                     }                 }             }             System.out.println(ans);         }     } }
点赞 回复 分享
发布于 2019-08-24 21:13
第一题是不是回溯可以弄出来
点赞 回复 分享
发布于 2019-08-24 21:12
print(3) 36%
点赞 回复 分享
发布于 2019-08-24 21:11
大佬分享下代码😫
点赞 回复 分享
发布于 2019-08-24 21:10
求第一题思路
点赞 回复 分享
发布于 2019-08-24 21:10
求第一题思路,大佬
点赞 回复 分享
发布于 2019-08-24 21:09
楼主发下第一题答案
点赞 回复 分享
发布于 2019-08-24 21:07
第一题求思路
点赞 回复 分享
发布于 2019-08-24 21:07
第一题求思路
点赞 回复 分享
发布于 2019-08-24 21:06
第一题求思路
点赞 回复 分享
发布于 2019-08-24 21:05

相关推荐

评论
2
13
分享

创作者周榜

更多
牛客网
牛客企业服务