学习心得(code)

superlong@CoreCoder

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

文字可能放在http://blog.csdn.net/superlong100,此处存放代码

常用链接

留言簿(4)

我参与的团队

搜索

  •  

最新随笔

最新评论

  • 1. re: Poj 1279
  • 对于一个凹多边形用叉积计算面积 后能根据结果的正负来判断给的点集的时针方向?
  • --bsshanghai
  • 2. re: Poj 3691
  • 你写的这个get_fail() 好像并是真正的get_fail,也是说fail指向的串并不是当前结点的子串。为什么要这样弄呢?
  • --acmer1183
  • 3. re: HDU2295[未登录]
  • 这个是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4. re: HDU2295
  • 评论内容较长,点击标题查看
  • --ylfdrib
  • 5. re: HOJ 11482
  • 呵呵..把代码发在这里很不错..以后我也试试...百度的编辑器太烂了....
  • --csuft1

阅读排行榜

评论排行榜

#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

const int N = 1005;
int n, m;
int map[N][N];
int x1, y1, x2, y2;
int r[N][N], c[N][N];

bool solve() {
    
int s1 = (map[x1][y1]!=0), s2 = (map[x2][y2]!=0) ;
    
if( x1 == x2 && y1 == y2) return false;
    
for(int x = 0; x < n; x ++) {
        
if( abs(c[x1][y1] - c[x][y1]) == (s1&&x<x1) && 
            abs(c[x2][y2] 
- c[x][y2]) == (s2&&x<x2) &&
            abs(r[x][y1] 
- r[x][y2] ) == 0 
        ) 
return true;
    }
    
for(int y = 0; y < m; y ++) {
        
if( abs(r[x1][y1] - r[x1][y]) == (s1&&y<y1) && 
            abs(r[x2][y2] 
- r[x2][y]) == (s2&&y<y2) &&
            abs(c[x1][y] 
- c[x2][y] ) == 0
        ) 
return true;
    }
    
return false;
}

int read(){
    
int d, c;
    
while( c = getchar(), c==' '||c=='\n');
    d 
= c-'0';
    
while( c = getchar(), c>='0'&&c<='9')d=d*10+c-'0';
    
return d;
}

int main() {
    n
=read();m=read();
    
while(n||m) {
        
for(int i = 1; i <=n; i ++ ) {
            
for(int j = 1; j <= m; j ++) {
                map[i][j] 
= read();
                r[i][j] 
= r[i][j-1+ (map[i][j] != 0);
                c[i][j] 
= c[i-1][j] + (map[i][j] != 0);
            }
        }
        
int t;
        scanf(
"%d"&t);
        
for(int i = 0; i < t; i ++) {
            scanf(
"%d %d %d %d"&x1, &y1, &x2, &y2);
            
if( solve() && map[x1][y1] == map[x2][y2]  && map[x1][y1]!=0) {
                puts(
"YES");
            } 
else {
                puts(
"NO");
            }
        }
        n
=read();m=read();
    }
}

posted on 2010-07-30 15:04 superlong 阅读(122) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理