主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
上岸课程
讨论区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
可可爱爱草莓派
2024年8月24日 14:41
2048游戏 题解:
P1472
回复 0
|
赞 0
|
浏览 357
#include<bits/stdc++.h> using namespace std; int main(){ int n,a[4][4]; cin >> n;//1,2,3,4,上下左右 for(int i = 0;i < 4;i++) for(int j = 0;j < 4;j++) cin >> a[i][j]; if(n == 1){ ...
xyfyoho
2024年8月21日 17:47
2048游戏 卡80%已解决:题目理解
P1472
回复 2
|
赞 0
|
浏览 692
注意中间有0相隔也合并,我原以为只有相邻不隔0才合并就卡80%了 #include<stdio.h> #include<string.h> void move(int a[4][4]){//向下移动函数,下侧和右侧各留了一条全0的空行和空列 for(int i=0;i<4;i++){ for(int j=0;j<4;j++){//从每列的最上边开始向下走 if(a[j][i]!=0){//若不为0则寻找下一个相同数 for(int z=j+1;z<4;z++){ if( a[j][i]== a[...
big_monkey
2024年6月22日 17:39
2048游戏 题解:
P1472
回复 0
|
赞 0
|
浏览 634
先合并,再移动 在合并的时候,用m,n来分别代表遍历到的元素的行和列,p,q分别代表要和这个元素合并的元素的行和列。(m,n是合并后要乘双倍的元素位置,p,q是合并后变成0的元素的位置) #include <iostream> #include<bits/stdc++.h> using namespace std; int main() { int x,a[10][10]={0}; int b[10][10]={0};//这是移动后的方阵 int m,n;//合并后数字双倍的位置 ...
qianqiangotoTHU
2024年5月5日 15:06
2048游戏 题解:简洁实现
P1472
回复 0
|
赞 2
|
浏览 1.1k
过了之后本来想看看有没有好玩的解法的,但是看到目前的题解都比较臃肿,要用100行以上代码实现,就打算分享一下自己的50+行代码的思路。 一、简洁实现四个方向 代码长主要是因为要实现四个方向的遍历,如果写四遍两层循环就巨麻烦 观察可以发现,只要对循环变量i j做一定的变换,就能同时代表4个方向,这样只需要写一次两层循环,在循环内写四行if else即可,大大减少代码量。 1. 上键 先来看1的,即用户按向上的键,遍历方向应该是一列列来,从上面到下面 两次循环即 for(int i=0;i<4;i++) for(int j...
Kohi
2024年3月18日 00:10
2048游戏 题解:
P1472
回复 0
|
赞 1
|
浏览 577
AC了,居然要一百多行...... #include <bits/stdc++.h> using namespace std; int a[6][6]; void up(){ for(int j = 1; j <= 4; j++){ for(int i = 3; i >= 1; i--){ for(int k = 1; k <= i; k++){ &n...
光明守护神
2024年3月8日 17:52
2048游戏 题解:C++
P1472
回复 0
|
赞 1
|
浏览 822
1.一个位置只能合并一次,所以我设置了一个flag判断该位置是否合并过 2222 -> 0044 2. 0代表这里没数字,不是代表这里有一个0 0202 -> 0004 关键之处我已注释! #include<deque> #include<iostream> using namespace std; class my_deque { public: deque<int>d;//双端队列 /* if(队列为空 && 该...
A001
2024年3月4日 13:34
2048游戏 题解:呜呜呜哪位好心人帮我看看为什么通过率只有80%,十
P1472
回复 4
|
赞 0
|
浏览 1.1k
#include<stdio.h> int n[4][4]; void up(int n[4][4]){ for(int i=0;i<3;i++){ for(int j=0;j<4;j++){ if(n[i][j]==n[i+1][j]){ ...
lq_debuger
2021年2月4日 10:30
哪位兄弟帮我看一下,通过率只有80%。感谢!
P1472
回复 2
|
赞 0
|
浏览 7.5k
#include <bits/stdc++.h> using namespace std; int main(int argc, const char **argv) { int x; while (cin >> x) { ...
浪到开花
2021年3月3日 14:06
主要理解向上,其余方向同理
P1472
回复 0
|
赞 5
|
浏览 9.9k
#include #include int main() { int direction; int a[4][4]={0}; scanf("%d",&direction); for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { ...
鱼翔浅底
2021年1月17日 10:58
简单模拟
P1472
回复 0
|
赞 1
|
浏览 8.9k
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { int matrix[4][4]; int operation; //读取数据 scanf("%d", &operation); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { s...
1
2
题目
2048游戏
题解数量
12
发布题解
热门题解
1
主要理解向上,其余方向同理
2
蒟蒻作法
3
2048游戏 题解:简洁实现
4
简单模拟
5
2048游戏 题解:C++
6
2048游戏 题解:
7
(1472)此题核心在于问题分解。(已修改)
8
2048游戏 卡80%已解决:题目理解
9
2048游戏 题解:
10
2048游戏 题解: