UVA - 232 Crossword Answers
生活随笔
收集整理的這篇文章主要介紹了
UVA - 232 Crossword Answers
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Crossword Answers
?UVA - 232?
題目傳送門
直接按照要求尋找遍歷一遍即可
AC代碼:
#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> #include <sstream> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; char s[15][15]; int num[15][15]; int n,m; void Init() {int cnt=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(s[i][j]=='*')continue;if(i==0||j==0||s[i-1][j]=='*'||s[i][j-1]=='*'){cnt++;num[i][j]=cnt;}}} } void Across() {for(int i=0;i<n;i++){for(int j=0;j<m;){if(s[i][j]!='*'){printf("%3d.",num[i][j]);while(s[i][j]!='*'){printf("%c",s[i][j]);j++;if(j>=m)break;}printf("\n");}elsej++;}} } void Down() {bool vis[15][15];ms(vis);for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(vis[i][j]==true||s[i][j]=='*')continue;printf("%3d.",num[i][j]);int t=i;while(s[t][j]!='*'&&t>=0&&t<n&&j>=0&&j<m){printf("%c",s[t][j]);vis[t][j]=true;t++;if(t>n)break;}printf("\n");}} } int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endif//freopen("out.txt", "w", stdout);int cnt=0;while(scanf("%d",&n)&&n){cnt++;if(cnt!=1)printf("\n");scanf("%d",&m);for(int i=0;i<n;i++)scanf("%s",s[i]);ms(num);Init();printf("puzzle #%d:\n",cnt);printf("Across\n");Across();printf("Down\n");Down();}return 0; }?
總結(jié)
以上是生活随笔為你收集整理的UVA - 232 Crossword Answers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WordPress更改“固定链接”后 页
- 下一篇: 问题 J: 寻找复读机【模拟】