數據結構實驗之數組二:稀疏矩陣

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;
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章