/*
大模拟题,做的时候思路还是比较清晰的
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#define ll long long
#define fo(i,l,r) for(int i = l;i <= r;i++)
#define fd(i,l,r) for(int i = r;i >= l;i--)
using namespace std;
const int maxn = ;
ll read(){
ll x=,f=;
char ch=getchar();
while(!(ch>=''&&ch<='')){if(ch=='-')f=-;ch=getchar();};
while(ch>=''&&ch<=''){x=x*+(ch-'');ch=getchar();};
return x*f;
}
int n,m;
int dx[] = {,,-,};
int dy[] = {-,,,};
int flag[][];
bool vis[][];
ll mp[][],d,k,v;
ll ans1,ans2;
ll judge(int y,int x,ll val){
if(y < || y > n || x < || x > n || vis[y][x]) return -;
if(!mp[y][x]) return val;
if(mp[y][x] == val) return val*;
return -;
}
bool tran(int op){
memset(vis,false,sizeof(vis));
bool cg = false;
int st1,ed1,dr1,st2,ed2,dr2;
int ny,nx,cy,cx;
ll tmp,rst;
d = read();
k = read();
v = read();
if(d == ){
st1 = n;
ed1 = ;
dr1 = -;
}else{
st1 = ;
ed1 = n;
dr1 = ;
}
if(d == ){
st2 = n;
ed2 = ;
dr2 = -;
}else{
st2 = ;
ed2 = n;
dr2 = ;
}
for(int i = st1;;i += dr1){
for(int j = st2;;j += dr2){
tmp = mp[i][j];
cy = i;
cx = j;
if(tmp)while(){
ny = cy + dy[d];
nx = cx + dx[d];
rst = judge(ny,nx,tmp);
if(rst == -) break;
else{
cg = true;
mp[cy][cx] = ;
mp[ny][nx] = rst;
if(rst != tmp){
ans2 += rst;
vis[ny][nx] = true;
break;
}
cy = ny;
cx = nx;
}
}
if(j == ed2) break;
}
if(i == ed1) break;
}
if(!cg) return false;
ans1++;
ll r = ;
memset(flag,,sizeof(flag));
fo(i,,n){
fo(j,,n){
if(!mp[i][j]) flag[i][j] = ++r;
}
}
fo(i,,n){
fo(j,,n){
if(flag[i][j] == + k%r) mp[i][j] = v;
}
}
return true;
}
int main(){
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
n = read();
m = read();
int x,y,v;
y = read();x = read();v = read();mp[y][x] = v;
y = read();x = read();v = read();mp[y][x] = v;
fo(op,,m){
if(!tran(op)) break;
}
cout<<ans1<<endl<<ans2<<endl;
return ;
}

LYDSY模拟赛day9 2048的更多相关文章

  1. LYDSY模拟赛day1 String Master

    /* 暴力枚举两个后缀,计算最长能匹配多少前缀. 最优策略一定是贪心改掉前 k 个失配的字符. 时间复杂度 O(n3). */ #include<cstdio> ],b[]; int ma ...

  2. LYDSY模拟赛day1 Tourist Attractions

    /* 假设路径是 a − b − c − d,考虑枚举中间这条边 b − c,计 算有多少可行的 a 和 d. 设 degx 表示点 x 的度数,那么边 b − c 对答案的贡献为 (degb − 1 ...

  3. LYDSY模拟赛day1 Walk

    /* 依旧考虑新增 2^20 个点. i 只需要向 i 去掉某一位的 1 的点连边. 这样一来图的边数就被压缩到了 20 · 2^20 + 2n + m,然后 BFS 求出 1 到每个点的最短路即可. ...

  4. LYDSY模拟赛day2 Divisors

    /* 注意分解质因数,如果i是,那么n/i也是,这样就可以解决分解质因数的时间问题了 当 k ≥ 1 时,只有这些数的约数才会对答案产生贡献. 求出 m 个数的所有不超过 n 的约数,去重后统计即可. ...

  5. LYDSY模拟赛day2 Market

    /* orz claris,这个题的解法非常巧妙,首先是时间问题,其实这个问题只要离线处理一下就可以了,把物品和询问都按照时间排序,然后看一下能不能满足.然后,因为容量<=10^9,显然是不可能 ...

  6. LYDSY模拟赛day2 Dash Speed

    /* 弃坑 */ #include<cstdio> #include<algorithm> using namespace std; ,M=N*; ],nxt[N<< ...

  7. LYDSY模拟赛day3 序列

    NOIP不考可持久,弃坑

  8. LYDSY模拟赛day3 涂色游戏

    /* 非常好的题 */ #include <cstdio> #include <iostream> #include <cstdlib> #include < ...

  9. LYDSY模拟赛day3 平均数

    [ 问题描述]有一天, 小 A 得到了一个长度为 n 的序列.他把这个序列的所有连续子序列都列了出来, 并对每一个子序列都求了其平均值, 然后他把这些平均值写在纸上, 并对它们进行排序,最后他报出了第 ...

随机推荐

  1. koch曲线与koch雪花的MATLAB实现

    代码 % -- function koch(Ax, Ay, Bx, By) % 控制递归深度 Deepth = ; % 控制图画大小 Size = ; + (By-Ay)^) < Deepth ...

  2. TCP/IP详解 笔记十二

    简单文件传送协议 TFTP 1)         初衷是为了引导无盘系统 2)         使用UDP 3)         代码都能适合只读存储器 无盘主机通过RARP获得ip地址后进行一个TF ...

  3. U盘容量减少的解决办法

    今天是使用以前的U盘的时候发现原来4G的U盘容量居然只剩下了700M,不是说u盘的可用空间是700M,而是在电脑上面显示的总空间为700M.在电脑上面格式化之后也没起作用. 经过Google找到了在w ...

  4. centos安装CODEBLOCKS

    装了好多次系统,每次装的时候都有要在网上各种查,太麻烦了.所以决定记录一下,以后用到的时候会方便一些.当然,本文来源于网络,取百家之长,最重要的是本人已验证过,说明对本系统是可行的. 在CentOS7 ...

  5. (译)你应该知道的jQuery小技巧

    帮助提高你jQuery应用的简单小技巧 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简 ...

  6. python获取知乎日报另存为txt文件

    前言 拿来练手的,比较简单(且有bug),欢迎交流~ 功能介绍 抓取当日的知乎日报的内容,并将每篇博文另存为一个txt文件,集中放在一个文件夹下,文件夹名字为当日时间. 使用的库 re,Beautif ...

  7. HTML5学习总结-04 音频&视频播放

    一 音频播放 1 Audio(音频) HTML5提供了播放音频文件的标准 2 control(控制器) control属性攻添加播放,暂停和音量空间. 3 标签定义声音 <audio> 例 ...

  8. POJ 2752Seek the Name, Seek the Fame(next数组妙用 + 既是前缀也是后缀)

    题目链接 题意:求一个字符串中 前缀 和 后缀 相同的长度 分析: 对于一个字符串他自己的长度肯定是可以的.然后如果满足 前缀 和 后缀相等,那个前缀 最后一个字符 一定 和 该字符串最后一个字符相等 ...

  9. response压缩响应

    思路:1.通过filter向目标页面传递一个自定义的response对象 2..在这个response对象中通过重写getOutputStream方法和getWriter方法使目标资源调用 该方法输出 ...

  10. RBAC权限设计实例

    http://blog.csdn.net/painsonline/article/details/7183629 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为 ...