天天看點

密碼破譯

問題 : 密碼破譯

時間限制: 1 Sec  記憶體限制: 128 MB

題目描述

某組織欲破獲一個外星人的密碼,密碼由一定長度的字串組成。此組織擁有一些破譯此密碼的長度不同的鑰匙,若兩個鑰匙的長度之和恰好為此密碼的長度,則此密碼被成功破譯。現在就請你程式設計找出能破譯此密碼的兩個鑰匙。

輸入

第一行: N        N為鑰匙的個數(1<=N<=1000)

第二行: L         L為密碼的長度

以下有N行: Ai       每一行是一把鑰匙的長度  i=1,2,……,N 

【限制條件】

輸出

樣例輸入

10
80
27
9
4
73
23
68
12
64
92
16       

樣例輸出

6
7      
#include <stdio.h>
int main()
{
    int n, flag, l, s[1010];
    while (scanf("%d", &n)!=EOF)
    {
        flag = 1;
        scanf("%d", &l);
        for (int i = 1; i <= n; i++)
            scanf("%d", &s[i]);
        for (int i = 1; i <= n - 1; i++)
        {
            for (int j = i + 1; j <= n; j++)
            {
                if(s[i] + s[j] == l)
                {
                    printf("%d\n%d\n", i, j);
                    flag = 0;
                    break;
                }
            }
            if(!flag)
                break;
        }
        if (flag)
            puts("0");
    }
    return 0;
}           
上一篇: 凱撒密碼
下一篇: 找tensorboard