位圖像素的顏色
Time Limit: 2000/1000 MS (Java/Others)????MemoryLimit: 32768/32768 K (Java/Others)
Total Submission(s): 0????Accepted Submission(s): 0
Problem Description
有一個在位圖上畫出矩形程序,一開始位圖都被初始化為白色(RGB顏色表示為R=G=B=255)。該程序能夠按照順序繪出N個矩形。新繪制的矩形能夠覆蓋位圖上原有的顏色。程序執行完畢后,需要查詢M個點的顏色,輸出這些點的RGB值。
每組數據都是在初始化后開始繪制。
?
?
Input
第一行包含參數N和M,分別表示矩形個數和需要查詢的像素個數(1 ≤N, M≤ 1000 );
剩下N行每行包含7個參數x1, y1, x2, y2, r, g, b,表示繪制一個(x1,y1),(x2,y2)為頂點的矩形,填充顏色為RGB(r, g, b),其中x1≤x2,? y1≤y2數據在整型范圍;0≤ r,g,b ≤ 255;
最后M行分別包含參數X和Y,表示需要查詢的像素位置。
如果某行N=M=0就表示輸入結束。
?
?
Output
對于每個用例,按行輸出查詢的像素的RGB值,每行包含3個整數,分別表示RGB值。
?
?
Sample Input
1 2
0 0 2 3 127 196 200
1 2
3 0
2 3
8 16 32 64 0 255 128
8 48 32 64 255 0 0
12 47
13 48
14 64
0 0
?
?
Sample Output
127 196 200
255 255 255
0 255 128
255 0 0
255 0 0
#include<iostream>
using namespace std;
int main()
{int m,n,i,x1, y1;int a[2000][2],b[2000][2],c[2000][3];while(cin>>m>>n&&m!=n){for(i=1;i<=m;i++)cin>>a[i][0]>>a[i][1]>>b[i][0]>>b[i][1]>>c[i][0]>>c[i][1]>>c[i][2];while(n--){ bool qq=0;cin>>x1>>y1;for(i=m;i>0;i--){if(x1>=a[i][0]&&x1<=b[i][0]&&y1>=a[i][1]&&y1<=b[i][1]){cout<<c[i][0]<<' '<<c[i][1]<<' '<<c[i][2]<<endl;qq=1;break;}}if(qq==0)cout<<255<<' '<<255<<' '<<255<<endl;}}return 0;
}