全部评论
python有第一题翻转棋盘的答案吗,输入搞了好久
老哥,给个答案啊
给个答案啊
我做的是棋子和日期。。。我是不是做错卷子了,4*4棋盘连算法都不用直接暴力怼上去😵
确实。。超简单,选择有点难度,不过还是凉了😂 编程题那个输出格式太难弄了
import java.util.Scanner;
/**
* 给定两个数组,分两行
*
* 第一行为分别为初始棋盘,为4*4矩阵,其中0表示白色棋子,1表示黑色棋子
*
* 第二行为翻转位置,其中翻转位置共有3个
*/
public class Main {
static int[][] maze = new int[5][5];
static int[][] maze_reverse = new int[6][6];
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line1 = in.next();
String line2 = in.next();
int digit[] = new int[20];
int index = 0;
for(int i=0;i<line1.length();i++){
if(line1.charAt(i)=='0' || line1.charAt(i)=='1'){
digit[index] = (line1.charAt(i)-'0');
index ++;
}
}
int index1 = 0;
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
maze[i][j]=digit[index1];
index1++;
}
}
index = 0;
for(int i=0;i<line2.length();i++){
if(line2.charAt(i)>='0' && line2.charAt(i)<='9'){
digit[index] = (line2.charAt(i)-'0');
index ++;
}
}
index1=0;
while(index1 < index){
maze_reverse[digit[index1]][digit[index1+1]]=1;
index1+=2;
}
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
if(maze_reverse[i][j] == 1){
divide(i,j );
}
}
}
index=0;
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
digit[index++]=maze[i][j];
}
}
index1=0;
for(int i=0;i<line1.length();i++){
if(line1.charAt(i)>='0'&& line1.charAt(i)<='9'){
System.out.print(digit[index1]);
index1++;
}else{
System.out.print(line1.charAt(i));
}
}
}
//[[0,1,1,1],[0,0,1,0],[0,1,1,0],[0,0,1,0]]
public static void divide(int x,int y){
if(x-1>=1){
maze[x-1][y]=1-maze[x-1][y];
}
if(x+1<=4){
maze[x+1][y]=1-maze[x+1][y];
}
if(y-1>=1){
maze[x][y-1]=1-maze[x][y-1];
}
if(y+1<=4){
maze[x][y+1]=1-maze[x][y+1];
}
}
}
棋盘的。。。。暴力解决了。。。4*4懒得想算法了
时间那题没保存,就判断一下闰年再用switch就好了。。
有上海的朋友收到下周的面试通知么?
美团是几点开始笔试的呀
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享