日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Timus Online Judge:ural:1006. Square Frames

發布時間:2024/4/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Timus Online Judge:ural:1006. Square Frames 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原題鏈接:http://acm.timus.ru/problem.aspx?space=1&num=1006

?

看到題第一反應:這玩意怎么讀入……

本地的話因為是全角字符,會占兩個位置,所以需要使用兩個getchar()(反正我的IDE會這樣),而提交上去getchar是可以讀入218,191這樣的ASCII碼值的。

主程序段就不用說了,隨便暴力跑跑就好。

然后是幾個坑點:

?

“Your sequence does not have to be the same with the original sequence used to build the picture on the screen.”

這句并不是說你的正方形輸出順序可以打亂,順序還是要按畫的順序來。

?

“(0 ≤?Xi?≤ 49, 0 ≤?Yi?≤ 19)?(2 ≤?Ai)”

輸出順序是先列后行,而且從0開始。Ai指的是正方形邊長。

?

樣例居然不讓復制,那就不用好了,自己打它個20*50的點陣然后慢慢改。

?

#include<cstdio> #include<cstring> #include<algorithm> #define MN 151 using namespace std; int read_p,read_ca,read_f; inline int read(){read_p=0;read_ca=getchar();read_f=1;while(read_ca<'0'||read_ca>'9') read_f=read_ca=='-'?-1:read_f,read_ca=getchar();while(read_ca>='0'&&read_ca<='9') read_p=read_p*10+read_ca-48,read_ca=getchar();return read_p*read_f; } int map[100][100],c,X[100],Y[100],Z[100],num=0; bool work(int x,int y,int z){if (map[x+z][y]!=1&&map[x+z][y]!=184) return 0;if (map[x][y+z]!=1&&map[x][y+z]!=180) return 0;if (map[x+z][y+z]!=1&&map[x+z][y+z]!=188) return 0;for (int i=x+1;i<x+z;i++)if (map[i][y+z]!=1&&map[i][y+z]!=166) return 0;for (int i=y+1;i<y+z;i++)if (map[x+z][i]!=1&&map[x+z][i]!=164) return 0;int mmh=0;for (int i=y;i<=y+z;i++)mmh|=(map[x][i]!=1)|(map[x+z][i]!=1);for (int i=x;i<=x+z;i++)mmh|=(map[i][y]!=1)|(map[i][y+z]!=1);if (!mmh) return 0;num++;X[num]=x;Y[num]=y;Z[num]=z+1;for (int i=y;i<=y+z;i++)map[x][i]=1,map[x+z][i]=1;for (int i=x;i<=x+z;i++)map[i][y]=1,map[i][y+z]=1; } int main(){//freopen("a.in","r",stdin);/*printf("%d\n",getchar());printf("%d\n",getchar());*/register int i,j,k;for (i=1;i<=20;i++)for (j=1;j<=50;j++){while (c=getchar(),c=='\n'||c==' ');if (c==218) map[i][j]=176;elseif (c==191) map[i][j]=180;elseif (c==217) map[i][j]=188;elseif (c==192) map[i][j]=184;elseif (c==179) map[i][j]=166;elseif (c==196) map[i][j]=164;else map[i][j]=0;//if (c==169) map[i][j]=getchar();else map[i][j]=0; }for (;;){for (i=1;i<=20;i++){for (j=1;j<=50;j++) if (map[i][j]>1) break;if (j<=50) break;}if (i>20) break;for (i=1;i<=20;i++)for (j=1;j<=50;j++)if (map[i][j]==1||map[i][j]==176)for (k=1;i+k<=20&&j+k<=50;k++)if (work(i,j,k)||(map[i+k][j]!=166&&map[i+k][j]!=1)||(map[i][j+k]!=164&&map[i][j+k]!=1)) break;}printf("%d\n",num);for (i=num;i;i--){printf("%d %d %d",Y[i]-1,X[i]-1,Z[i]);if (i!=1) putchar('\n');} } View Code

?

轉載于:https://www.cnblogs.com/Enceladus/p/6232668.html

總結

以上是生活随笔為你收集整理的Timus Online Judge:ural:1006. Square Frames的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。