CSU 1562 — Fun House
来源:互联网 发布:sql数据库可视化工具 编辑:程序博客网 时间:2024/06/04 18:47
原题:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1562
题意:光线从‘*’ 发射,遇到 '/' 或 '\' 进行反射,最后射到墙上,将 'x' 变成'&' ;
思路:因为 '/' 和 '\' 是45度倾斜的,所以光线反射的时候角度为90度;
所以枚举搜索一下就好啦 ^_^
#include<stdio.h>int f[4][2] = {-1, 0, 0, 1, 1, 0, 0, -1};int aa, bb;char str[25][25];void dfs(int a, int b, int d){int u = a+f[d][0];int v = b+f[d][1];if(str[u][v] == 'x'){aa = u;bb = v;return;}if(str[u][v] == '.')dfs(u, v, d);if(str[u][v] == '/'){if(d == 0)dfs(u, v, 1);if(d == 1)dfs(u, v, 0);if(d == 2)dfs(u, v, 3);if(d == 3)dfs(u, v, 2);}if(str[u][v] == '\\'){if(d == 0)dfs(u, v, 3);if(d == 1)dfs(u, v, 2);if(d == 2)dfs(u, v, 1);if(d == 3)dfs(u, v, 0);}}int main(){int cas = 1;int w, l;while(scanf("%d%d", &w, &l)!=EOF){if(w == 0 && l == 0)break;for(int i = 1;i<=l;i++)scanf("%s", str[i]);for(int i = 1;i<=l;i++){for(int j = 0;j<w;j++){if(str[i][j] == '*'){if(i == 1)dfs(i, j, 2);if(j == 0)dfs(i, j, 1);if(i == l)dfs(i, j, 0);if(j == w-1)dfs(i, j, 3);}}}str[aa][bb] = '&';printf("HOUSE %d\n", cas++);for(int i = 1;i<=l;i++)printf("%s\n", str[i]);}}
0 0
- CSU 1562 — Fun House
- CSU 1562Fun House
- csu 1562 Fun House
- CSU 1562 Fun House
- csu 1562: Fun House (DFS)
- CSU 1562 Fun House(直线搜索)
- Fun House CSU
- 1562: Fun House
- 1562:Fun House
- Fun House
- CSU1562 Fun House
- CSU1562-Fun House
- SDUT3184 Fun House(模拟)
- fun
- fun
- FUN
- fun
- Function Run Fun--CSU-ACM2017暑期训练3-递推与递归
- ERROR 1130 (HY000): Host '192.168.225.128' is not allowed to connect to this MySQL server
- 字符串压缩
- swift app入门 学习总结
- linux常用命令整理之七
- HTML5 SVG 特效示例
- CSU 1562 — Fun House
- Codeforces534D:Handshakes
- utf-8 unicode 各种编码的区别与联系
- 进程间通信简单实现之SendMessage/PostMessage
- jpa2 subquery
- (1.5.2.3)编程之美 寻找发帖水王 扩展问题
- KVM+QEMU世界中的pci总线与virtio总线 module_call_init pc_machine_init
- leetcode: add two numbers , hash search solution, java. O(n)
- [Django框架学习] URLconf的映射和模版继承