UVA 2312:Crossword Answers (字符串处理)
来源:互联网 发布:java web接口开发 编辑:程序博客网 时间:2024/06/06 05:43
Crossword Answers
题意:
就是按照行和列来读取单词,前置第一个字母的编号。
编号的规则:第一行和第一列都有编号,其他位置只有左边或者上边有 * 的时候才有编号,编号从 1 递增
解题思路:
按行读取的很好办,按次序依次读完就可以了。
至于按列读取的话,由于读取顺序的问题,不能一列一列的读,所以还是只能一行一行读,读到字母的时候直接往下走,为了避免重复,我们这里把所有读过的字母全部变成 *
代码:
#include<iostream>#include <cstdio>#include <cstring>#include <sstream>#include <cmath>using namespace std;char mp[15][15];int num[15][15];int main(){ int n,m,ca=1; while(scanf("%d",&n)!=EOF) { if(n==0) break; scanf("%d",&m); getchar(); for(int i=0; i<n; i++) gets(mp[i]); //对所有字符编号 int len=1; memset(num,0,sizeof(num)); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) if(i==0 || j==0) { if(mp[i][j] != '*') num[i][j] = len++; } else { if(mp[i][j] != '*') if(mp[i-1][j]=='*' || mp[i][j-1]=='*') num[i][j] = len++; } } if(ca!=1) printf("\n"); printf("puzzle #%d:\n",ca++); printf("Across\n"); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(mp[i][j]!='*') { printf("%3d.",num[i][j]); while(j<m&&mp[i][j]!='*') { printf("%c",mp[i][j++]); } j--; printf("\n"); } } } printf("Down\n"); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(mp[i][j]!='*') { printf("%3d.",num[i][j]); int k=i; while(k<n&&mp[k][j]!='*') { printf("%c",mp[k][j]); mp[k][j]='*'; k++; } printf("\n"); } } } } return 0;}
阅读全文
0 0
- UVA 2312:Crossword Answers (字符串处理)
- UVa 232 - Crossword Answers【字符串】
- UVa 232 Crossword Answers(枚举+输入输出)
- uva 232 - Crossword Answers
- uva 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232 - Crossword Answers
- Uva-232 - Crossword Answers
- uva---232--- Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232Crossword Answers
- 【Uva 232】 Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 Crossword Answers
- UVA - 232 Crossword Answers
- Uva - 232 - Crossword Answers
- A
- jquery mobile笔记
- LTE学习笔记--PHY-Symbol与CP
- MongoDB管理与监控
- 【剑指offer】链表中环的入口结点
- UVA 2312:Crossword Answers (字符串处理)
- LTE学习笔记--PHY--PHY下行物理信道排布(FDD)
- 解决Centos环境下tomcat启动缓慢的问题
- 《机器学习实战》学习
- TCP server的实现,和多线程,多进程服务器
- String 字符串介绍
- 387. First Unique Character in a String
- Error inflating class com.baidu.mapapi.map.MapView
- 继承与组合混用