Problem Description
對於一個n*n的稀疏矩陣M(1 <= n <= 1000),採用三元組順序表存儲表示,查找從鍵盤輸入的某個非零數據是否在稀疏矩陣中,如果存在則輸出OK,不存在則輸出ERROR。稀疏矩陣示例圖如下:
Input
連續輸入多組數據,每組數據的第一行是三個整數mu, nu, tu(tu<=50),分別表示稀疏矩陣的行數、列數和矩陣中非零元素的個數,數據之間用空格間隔,隨後tu行輸入稀疏矩陣的非零元素所在的行、列值和非零元素的值,每組數據的最後一行輸入要查詢的數據k。
Output
輸出查詢結果,查找成功輸出OK,找不到輸出ERROR。
Sample Input
3 5 5 1 2 14 1 5 -5 2 2 -7 3 1 36 3 4 28 36
Sample Output
OK
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
int h;
int l;
}s[60];
int main()
{
int n,m,i,tu,x;
while(scanf("%d%d%d",&n,&m,&tu)!=EOF)
{
int flag=0;
for(i=1;i<=tu;i++)
scanf("%d%d%d",&s[i].h,&s[i].l,&s[i].data);
scanf("%d",&x);
for(i=1;i<=tu;i++)
{
if(s[i].data==x)
{
flag=1;
break;
}
}
if(flag==1) printf("OK\n");
else printf("ERROR\n");
}
return 0;
}