博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1222 EXTENDED LIGHTS OUT(翻转+二维开关问题)
阅读量:4323 次
发布时间:2019-06-06

本文共 2341 字,大约阅读时间需要 7 分钟。

 

    今天真是完美的一天,这是我在poj上的100A,留个纪念,马上就要期中考试了,可能后面几周刷题就没这么快了,不管怎样,为下一个200A奋斗,

    这个题是大白上的牛翻转颜色的题(P153)的弱化版,典型的开关问题;

/** Created:     2016年04月05日 22时28分26秒 星期二* Author:      Akrusher**/#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define rep(i,a,n) for (int i=a;i
=a;i--)#define in(n) scanf("%d",&(n))#define in2(x1,x2) scanf("%d%d",&(x1),&(x2))#define in3(x1,x2,x3) scanf("%d%d%d",&(x1),&(x2),&(x3))#define inll(n) scanf("%I64d",&(n))#define inll2(x1,x2) scanf("%I64d%I64d",&(x1),&(x2))#define inlld(n) scanf("%lld",&(n))#define inlld2(x1,x2) scanf("%lld%lld",&(x1),&(x2))#define inf(n) scanf("%f",&(n))#define inf2(x1,x2) scanf("%f%f",&(x1),&(x2))#define inlf(n) scanf("%lf",&(n))#define inlf2(x1,x2) scanf("%lf%lf",&(x1),&(x2))#define inc(str) scanf("%c",&(str))#define ins(str) scanf("%s",(str))#define out(x) printf("%d\n",(x))#define out2(x1,x2) printf("%d %d\n",(x1),(x2))#define outf(x) printf("%f\n",(x))#define outlf(x) printf("%lf\n",(x))#define outlf2(x1,x2) printf("%lf %lf\n",(x1),(x2));#define outll(x) printf("%I64d\n",(x))#define outlld(x) printf("%lld\n",(x))#define outc(str) printf("%c\n",(str))#define pb push_back#define mp make_pair#define fi first#define se second#define SZ(x) ((int)(x).size())#define mem(X,Y) memset(X,Y,sizeof(X));typedef vector
vec;typedef long long ll;typedef pair
P;const int dx[5]={-1,0,0,0,1},dy[5]={ 0,-1,0,1,0};const int INF=0x3f3f3f3f;const ll mod=1e9+7;ll powmod(ll a,ll b) {ll res=1;a%=mod;for(;b;b>>=1){ if(b&1)res=res*a%mod;a=a*a%mod;}return res;}const bool AC=true;const int M=5;const int N=6;int tile[5][6];int opt[5][6];int flip[5][6];int k;int get(int x,int y){ int c=tile[x][y]; rep(i,0,5){ int nx=x+dx[i],ny=y+dy[i]; if(nx>=0&&ny>=0&&nx
>j)&1; } int num=calc(); if(num>=0&&(res<0||res>num)){ //此处可能为0 res=num; memcpy(opt,flip,sizeof(flip)); } } printf("PUZZLE #%d\n",k); rep(i,0,M){ rep(j,0,N){ printf("%d ",opt[i][j]); } printf("\n"); }}int main(){ int t; in(t); k=0; while(t--){ k++; rep(i,0,M) rep(j,0,N){ in(tile[i][j]); } solve(); } return 0;}

 

      

转载于:https://www.cnblogs.com/akrusher/p/5357333.html

你可能感兴趣的文章
linux文件目录类命令|--cp指令
查看>>
.net MVC 404错误解决方法
查看>>
linux系统目录结构
查看>>
学习进度
查看>>
使用Postmark测试后端存储性能
查看>>
NSTextView 文字链接的定制化
查看>>
第五天站立会议内容
查看>>
最短路径(SP)问题相关算法与模板
查看>>
js算法之最常用的排序
查看>>
Python——交互式图形编程
查看>>
经典排序——希尔排序
查看>>
团队编程项目作业2-团队编程项目代码设计规范
查看>>
英特尔公司将停止910GL、915GL和915PL芯片组的生产
查看>>
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
正则表达式的搜索和替换
查看>>