[HDU2456] Constellations [2008 Asia Hefei Regional Contest Online A]
来源:互联网 发布:准确控盘源码指标公式 编辑:程序博客网 时间:2024/04/27 13:50
题意
给出一个
题解
由于
代码
/****************************************\* Author : ztx* Title : A - Constellations* ALG : hash* CMT :* Time :\****************************************/#include <cstdio>#define Rep(i,l,r) for(i=(l);i<=(r);i++)#define rep(i,l,r) for(i=(l);i< (r);i++)#define Rev(i,r,l) for(i=(r);i>=(l);i--)#define rev(i,r,l) for(i=(r);i> (l);i--)typedef long long ll ;typedef double lf ;int CH , NEG ;template <typename TP>inline void read(TP& ret) { ret = NEG = 0 ; while (CH=getchar() , CH<'!') ; if (CH == '-') NEG = true , CH = getchar() ; while (ret = ret*10+CH-'0' , CH=getchar() , CH>'!') ; if (NEG) ret = -ret ;}template <typename TP>inline void readc(TP& ret) { while (ret=getchar(),ret!='0'&&ret!='*');/* while (ret=getchar() , ret<'!') ; while (CH=getchar() , CH>'!') ;*/}template <typename TP>inline void reads(TP *ret) { ret[0]=0;while (CH=getchar() , CH<'!') ; while (ret[++ret[0]]=CH,CH=getchar(),CH>'!') ; ret[ret[0]+1]=0;}#include <cstring>#define maxn 1010LL#define maxp 60LLint kiss = 0 , n , m , t , p , q , ch , ans ;bool map[maxn][maxn] ;ll hash1[maxn][maxn] , hash2[maxp] ;int main() {int i , j , k ;// #define READ #ifdef READ freopen(".in" ,"r",stdin ) ; freopen(".out","w",stdout) ; #endif while (++ kiss) { read(n) , read(m) , read(t) , read(p) , read(q) ; if (n+m+t+p+q == 0) break ; ans = 0 ; if (n < p || m < q) { Rep (i,1,n) Rep(j,1,m) readc(ch) ; while (t -- ) Rep (i,1,p) Rep (j,1,q) readc(ch) ; goto ANS ; } Rep (i,1,n) { Rep (j,1,m) if (readc(ch),ch=='0') map[i][j] = false ; else map[i][j] = true ; hash1[i][m+1-q] = 0 ; Rep (j,m+1-q,m) if (map[i][j]) hash1[i][m+1-q] |= 1LL<<(m-j) ; Rev (j,m-q,1) if (hash1[i][j] = hash1[i][j+1]>>1LL , map[i][j]) hash1[i][j] |= 1LL<<(q-1) ; } while (t -- ) { Rep (i,1,p) { hash2[i] = 0 ; Rep (j,1,q) if (readc(ch) , ch == '*') hash2[i] |= 1LL << (q-j) ; } Rev (i,n+1-p,1) Rev (j,m+1-q,1) if (hash1[i][j] == hash2[1]) { ch = true ; rev (k,p,1) if (hash1[i+k-1][j] != hash2[k]) { ch = false ; break ; } if (ch) { ans += ch ; goto CONTINUE ; } } CONTINUE:; } ANS:; printf("Case %d: %d\n",kiss,ans) ; } #ifdef READ fclose(stdin) ; fclose(stdout) ; #else getchar() ; getchar() ; #endif return 0 ;}
0 0
- [HDU2456] Constellations [2008 Asia Hefei Regional Contest Online A]
- [HDU2458] Kindergarten [2008 Asia Hefei Regional Contest Online C]
- [HDU2460] Network [2008 Asia Hefei Regional Contest Online E]
- [HDU2461] Rectangles [2008 Asia Hefei Regional Contest Online F]
- [HDU2462] The Luckiest number [2008 Asia Hefei Regional Contest Online G]
- [HDU2463] USTC campus network [2008 Asia Hefei Regional Contest Online H]
- 2015 ACM/ICPC Asia Regional Hefei Online
- HDU 5492 Find a path DP —— 2015 ACM-ICPC Asia Regional Hefei Online
- HDU 5492 Find a path(DP)——2015 ACM/ICPC Asia Regional Hefei Online
- HDU 5492 Find a path(2015 ACM/ICPC Asia Regional Hefei Online )
- HDU 5492 Find a path DP —— 2015 ACM-ICPC Asia Regional Hefei Online
- 【HDU】5492 Find a path(2015 ACM/ICPC Asia Regional Hefei Online)
- 【动态规划】HDU 5492 Find a path (2015 ACM/ICPC Asia Regional Hefei Online)
- 2015 ACM/ICPC Asia Regional Hefei Online J.Queue
- HDU 5489(2015 Asia Regional Hefei Online F )
- HDU 5493 Queue(2015 ACM/ICPC Asia Regional Hefei Online)
- The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - A.B.J
- The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - A.B.J
- POJ 3928 Ping pong
- 地球坐标,火星坐标,百度坐标转换
- k-近邻算法(k-Nearest Neighbor)
- hdu 2391
- Android简单的可设置间隔评分条的实现
- [HDU2456] Constellations [2008 Asia Hefei Regional Contest Online A]
- js获取当前时间,指定月份的第一天和最后一天
- git reset
- DM365/DM368 IPNC软件架构详解
- helloworld
- RecyclerView另类实现高度固定
- 顺序表应用2:多余元素删除之建表算法
- php学习笔记(四)插入内容
- bzoj 1834 网络扩容 (费用流)