亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

201604-2 俄羅斯方塊

2019-11-06 06:04:14
字體:
來源:轉載
供稿:網友
問題描述

試題編號:201604-2
試題名稱:俄羅斯方塊
時間限制:1.0s
內存限制:256.0MB
問題描述:問題描述  俄羅斯方塊是俄羅斯人阿列克謝·帕基特諾夫發明的一款休閑游戲?! ∮螒蛟谝粋€15行10列的方格圖上進行,方格圖上的每一個格子可能已經放置了方塊,或者沒有放置方塊。每一輪,都會有一個新的由4個小方塊組成的板塊從方格圖的上方落下,玩家可以操作板塊左右移動放到合適的位置,當板塊中某一個方塊的下邊緣與方格圖上的方塊上邊緣重合或者達到下邊界時,板塊不再移動,如果此時方格圖的某一行全放滿了方塊,則該行被消除并得分?! ≡谶@個問題中,你需要寫一個程序來模擬板塊下落,你不需要處理玩家的操作,也不需要處理消行和得分?! 【唧w的,給定一個初始的方格圖,以及一個板塊的形狀和它下落的初始位置,你要給出最終的方格圖。輸入格式  輸入的前15行包含初始的方格圖,每行包含10個數字,相鄰的數字用空格分隔。如果一個數字是0,表示對應的方格中沒有方塊,如果數字是1,則表示初始的時候有方塊。輸入保證前4行中的數字都是0。  輸入的第16至第19行包含新加入的板塊的形狀,每行包含4個數字,組成了板塊圖案,同樣0表示沒方塊,1表示有方塊。輸入保證板塊的圖案中正好包含4個方塊,且4個方塊是連在一起的(準確的說,4個方塊是四連通的,即給定的板塊是俄羅斯方塊的標準板塊)?! 〉?0行包含一個1到7之間的整數,表示板塊圖案最左邊開始的時候是在方格圖的哪一列中。注意,這里的板塊圖案指的是16至19行所輸入的板塊圖案,如果板塊圖案的最左邊一列全是0,則它的左邊和實際所表示的板塊的左邊是不一致的(見樣例)輸出格式  輸出15行,每行10個數字,相鄰的數字之間用一個空格分隔,表示板塊下落后的方格圖。注意,你不需要處理最終的消行。樣例輸入0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 0 01 1 1 0 0 0 1 1 1 10 0 0 0 1 0 0 0 0 00 0 0 00 1 1 10 0 0 10 0 0 03樣例輸出0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 0 01 1 1 1 1 1 1 1 1 10 0 0 0 1 1 0 0 0 0

問題分析:關鍵是如何處理下落方塊下落的過程。方塊下落中遇到阻礙時應該怎么解決?在方塊下落中,從圖的第五行開始,從方塊的最下一行開始到第一行依次判斷其是否會與此行發生碰撞。若發生碰撞,則將方塊安放在發生碰撞的上一行,同時要注意下落方塊的那一行與圖發生了碰撞,以便安放在正確的位置。若沒有發生碰撞,則判斷圖的下一行是否會發生碰撞,同時繼續判斷下落方塊的上一行和圖的本行是否發生碰撞,直到判斷完下落方塊的所有行。

測試用例:

0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 01 1 1 1 0 1 1 1 1 10 0 0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 00 1 1 10 0 1 00 0 1 03

代碼:

#include <iostream>#include <stdio.h>using namespace std;/* run this PRogram using the console pauser or add your own getch, system("pause") or input loop */int t[17][11];int block[5][5];int n=15,m=10;void load(int row,int col,int s){//0-s行 for(int i=0,p=row-s;i<=s;i++,p++){for(int j=0,q=col;j<4;j++,q++){if(block[i][j] == 1)t[p][q]=block[i][j];}}//s-3行for(int i=s+1,p=row+1;i<4;i++,p++){for(int j=0,q=col;j<4;j++,q++){if(block[i][j] == 1){t[p][q]=block[i][j];}}} }//void scan(int row,int col,int s)//{// //從圖的row行col列開始針對下落方塊的第s行掃描// for(int i=row;i<=n;i++)// {// for(int j=col,h=0;j<col+4;j++,h++)// {// if(t[i][j] == 1 && block[s][h]==1)// {// //方塊和圖內的方塊產生碰撞 // load(i-1,col,s);  //產生碰撞則將方塊下落安置在碰撞產生的上一行// //即s行放在i-1行 // return; // } // }// } // //若s行在i<n的所有行中都沒有發生碰撞 那么s行就不可能和任何行發生碰撞 // //因此轉入對s行的上一行的判斷 // scan(row,col,s-1);//// if(s == 0)//// {//// //若下落方塊的最上一行也沒有發生碰撞 則方塊直接下落到最下一層 //// load(n-1,col,3);//// }// return;  //} void scan(int row,int col){//從圖的row行col列開始針對下落方塊的第s行掃描for(int i=3;i>=0;i--) //下落方塊從第四行到第一行開始掃描 {for(int j=col,h=0;j<col+4;j++,h++){if(t[row][j]==1 && block[i][h] == 1){load(row-1,col,i);return;}}scan(row+1,col); }scan(row+1,col);}int main(int argc, char *argv[]) {//讀入圖 //while(true){ for(int i=0;i<n;i++){for(int j=0;j<m;j++){scanf("%d",&t[i][j]);}} for(int i=0;i<m;i++){t[15][i]=1;} //讀入下落塊 for(int i=0;i<4;i++){for(int j=0;j<4;j++){scanf("%d",&block[i][j]);}} int p;//初始下落位置 scanf("%d",&p);scan(4,p-1);for(int i=0;i<n;i++){int j;for(j=0;j<m-1;j++){printf("%d ",t[i][j]);}printf("%d",t[i][j]);printf("/n");}} return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕精品在线视频| 欧美日韩亚洲视频一区| 国产成人av网| 久久久久久久久久久国产| 国产一区二区三区欧美| 亚洲精品一区二区网址| 国产精品自产拍在线观看中文| 国产精品久久97| 日本韩国在线不卡| 亚洲欧洲日产国码av系列天堂| 欧美最猛性xxxxx免费| 久久久久久午夜| 视频直播国产精品| 欧美精品18videos性欧美| 在线观看国产成人av片| 国产一区二区三区免费视频| 亚洲精品国产精品国自产观看浪潮| 国产视频久久久| 亚洲日本成人女熟在线观看| 亚洲另类图片色| 国产视频观看一区| 日韩电影中文字幕av| 亚洲一区二区三区成人在线视频精品| 91视频免费在线| 久久人91精品久久久久久不卡| 国外日韩电影在线观看| 成人免费高清完整版在线观看| 久久亚洲精品中文字幕冲田杏梨| 国产精品99导航| 久久香蕉频线观| 大伊人狠狠躁夜夜躁av一区| 在线精品视频视频中文字幕| 欧美专区日韩视频| 中文字幕日韩在线观看| 欧美在线观看www| 日韩中文字幕在线观看| 欧美乱人伦中文字幕在线| 国产成人一区二| 成人av在线网址| 日韩大片免费观看视频播放| 丁香五六月婷婷久久激情| 精品久久久久久久久中文字幕| 国产欧洲精品视频| 伊人伊成久久人综合网小说| 国产成人福利夜色影视| 国产一区二区三区高清在线观看| 国产色婷婷国产综合在线理论片a| 97视频国产在线| 国产一区二区三区高清在线观看| 热99在线视频| 91在线视频免费| 日韩高清电影好看的电视剧电影| 日韩欧美aaa| 91免费版网站入口| 国产精品久久久久久影视| 欧美中文字幕在线播放| 九九九久久国产免费| 亚洲欧美综合精品久久成人| 国产91|九色| 日韩精品极品毛片系列视频| 欧美一区二区大胆人体摄影专业网站| 97热精品视频官网| 亚洲免费伊人电影在线观看av| 欧美性资源免费| 国产精品69av| 亚洲男人av电影| 视频在线一区二区| 欧美在线视频a| 91成人在线观看国产| 黑人巨大精品欧美一区免费视频| 亚洲午夜av电影| xxx欧美精品| 国产91精品视频在线观看| 国产精品欧美久久久| 热99久久精品| 国产97在线视频| 久久99久久久久久久噜噜| 热久久免费视频精品| 日韩一区视频在线| 久久97久久97精品免视看| 日韩精品视频三区| 国产精品久久久久久影视| 激情成人在线视频| 98视频在线噜噜噜国产| 97视频人免费观看| 美女啪啪无遮挡免费久久网站| 久久精品欧美视频| 亚洲国产精品女人久久久| 中文字幕欧美亚洲| 欧美色欧美亚洲高清在线视频| 国产精品久久久久久av下载红粉| 成人免费网站在线观看| 日韩欧美在线国产| 91精品综合视频| 国产精品福利无圣光在线一区| 国产女人18毛片水18精品| 国内揄拍国内精品| 国产精品色悠悠| 国产91精品久久久久久久| 国产精品一区二区三区久久久| 亚洲国产古装精品网站| 日韩一区二区三区在线播放| 91久久精品国产91久久性色| www.欧美三级电影.com| 夜夜嗨av色综合久久久综合网| 欧美二区乱c黑人| 欧美激情第1页| 中文字幕精品—区二区| 国产精品偷伦视频免费观看国产| 精品美女永久免费视频| 日韩美女激情视频| 欧美性猛交xxxx乱大交极品| 91av在线看| 亚洲精品国产精品国产自| 亚洲成人久久久久| 午夜精品久久久99热福利| 亚洲精品国产成人| 国产一区二区三区精品久久久| 久久久久久国产精品美女| 久久偷看各类女兵18女厕嘘嘘| 91av在线影院| 国产精品91视频| 国产精品国产三级国产专播精品人| 久久久免费观看| 久久亚洲综合国产精品99麻豆精品福利| 欧美理论在线观看| 欧美成人第一页| 97av视频在线| 国产精品麻豆va在线播放| 精品视频在线播放色网色视频| 国产婷婷97碰碰久久人人蜜臀| 欧美性猛交丰臀xxxxx网站| 欧美视频中文在线看| 成人精品一区二区三区电影免费| 亚洲一区二区久久| 日韩中文字幕网| 亚洲一区二区自拍| 亚洲伊人成综合成人网| 亚洲女人天堂成人av在线| 日本精品免费观看| 136fldh精品导航福利| 91精品国产亚洲| 亚洲精品999| 欧美一区二三区| 欧美疯狂做受xxxx高潮| 98精品国产自产在线观看| 欧美视频在线免费看| 精品久久久久久亚洲国产300| 亚洲欧美另类在线观看| 色综久久综合桃花网| 91精品国产自产在线| 欧美自拍视频在线| 欧美www在线| 伊人久久男人天堂| 久久久久久久97| 国产精品9999| 最新国产精品亚洲| 成人黄色大片在线免费观看| 午夜精品一区二区三区在线视| 欧美日韩视频在线| 亚洲人成网在线播放| 久久久久久久999精品视频| 欧美激情性做爰免费视频| 国产免费一区二区三区在线能观看|