我们如何在裁员浪潮中升职加薪! 机器人都会走迷宫了
发布时间:2024-11-15 05:35:09点击:
大家好,我是哪吒。
临下班的时候,同事电话里吐槽道
今年的年终奖比去年多了一点
嗯,是不错,去年1000,今年2000
今年已经是连续第四年没开年会了,疫情三年,今年默认疫情了!
那要不要换个工作啥的?
她笑了笑,回了句,抱歉,今年没有金三银四了!
现在的行情就是哀鸿遍野。
裁员不可怕,可怕的是不给任何赔偿,还要让你憋屈的主动离职,比如强制加班、强制调岗、强制出差。
能领取大礼包毕业的,已经算是人上人了。
有些裁员也是以讹传讹,无中生有。
不管怎么裁,我们还是要工作的,千万不要冲动,转行去干四大金刚(快递、外卖、滴滴、自媒体)。你的身体扛不住的,而且它们也没有你想象中的那么香。
面对裁员问题,我们要如何自救?
如果是被裁者:
如果是幸存者:
裁员一波接一波,一个季度一份名单,此次没你,下次就不一定了!
我们只有不断地学习新知识和技能,以保持高水平的编程能力。这不仅能够提升我们的工作效率,还能够在职场竞争中脱颖而出,让我们一起在裁员的浪潮中升职加薪。
同一行中如果有多个数据以一个空格隔开,用例保证所有的输入数据均合法。(结尾不带回车换行)。
陷阱方格与不可达方格数量,两个信息在一行中输出,以一个空格隔开。(结尾不带回车换行)。
1.第一行输入行数m、列数n。
2.第二行输入墙数wallNum。
3.下面的wallNum行,输入墙的坐标。
4.定义二维矩阵matrix,并进行初始化,默认0,墙为-1。
5.通过深度优先搜索dfs,遍历matrix。
6.遍历matrix。
7.按照指定格式输出陷阱和不可达的数量。
在我们遇到的一些问题当中,有些问题我们不能够确切的找出数学模型,即找不出一种直接求解的方法,解决这一类问题,我们一般采用搜索的方法解决。搜索就是用问题的所有可能去试探,按照一定的顺序、规则,不断去试探,直到找到问题的解,试完了也没有找到解,那就是无解,试探时一定要试探完所有的情况(实际上就是穷举);
对于问题的第一个状态,叫初始状态,要求的状态叫目标状态。搜索就是把规则应用于实始状态,在其产生的状态中,直到得到一个目标状态为止。产生新的状态的过程叫扩展(由一个状态,应用规则,产生新状态的过程)。
搜索的要点:
如果搜索是以接近起始状态的程序依次扩展状态的,叫宽度优先搜索。
如果扩展是首先扩展新产生的状态,则叫深度优先搜索。
深度优先搜索用一个数组存放产生的所有状态。
private static int m;// 行数private static int n;// 列数private static int wallNum;// 墙数private static int[][] matrix;// 二维矩阵/** * 0:不可达,因为默认是0,向x和y正方向一步一步走的话,如果未涉及,就是不可达,所以是0 * -1:墙 * 1:可达 * -2:陷阱 */public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] input = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();m = input[0];n = input[1];wallNum = Integer.valueOf(sc.nextLine());matrix = new int[m][n];matrix[m - 1][n - 1] = 1; // 可达1for (int i = 0; i < wallNum; i++) {int[] arr = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();matrix[arr[0]][arr[1]] = -1; // 墙-1,默认为0}dfs(0, 0);int trapNum = 0; // 陷阱int inaccessibleNum = 0; // 不可达for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {// 不可达inaccessibleNum++;}else if (matrix[i][j] == -2) {// 陷阱trapNum++;}}}System.out.println(trapNum + " " + inaccessibleNum);}public static boolean dfs(int x, int y) {if (x >= m || y >= n) {// 非法输入return false;}if (matrix[x][y] == -1) {// 墙return false;}if (matrix[x][y] == -2) {// 不可达return false;}if (matrix[x][y] == 1) {// 可达return true;}if (matrix[x][y] == 0) {boolean step_x = dfs(x + 1, y);boolean step_y = dfs(x, y + 1);// 如果x或y正向都可达,则将其设为可达1if (step_x || step_y) {matrix[x][y] = 1;} else {// 如果x或y正向都不可达,则将其设为陷阱-2matrix[x][y] = -2;}}return matrix[x][y] == 1;}
6 4 5 0 2 1 2 2 2 4 1 5 1