查看: 3574|回復: 0
打印 上一主題 下一主題

[UVa] 10550 - Combination Lock

[複製鏈接]
  • TA的每日心情
    鬱悶
    2015-5-15 22:38
  • 簽到天數: 33 天

    [LV.5]常住居民I

    75

    主題

    302

    帖子

    766

    積分

    版主

    TFcis - 105 附設監工官

    Rank: 7Rank: 7Rank: 7

    積分
    766

    台南一中資訊社程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-7-29 16:56:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    本帖最後由 domen111 於 2014-8-12 11:54 編輯



    這題太機車了!!!

    題意釐清:
    看好那個鎖!
    上面有個紅紅的指針對吧!

    轉盤順時針轉的時候數字是減少的

    解題策略:
    先把轉幾圈整的加到答案裡
    問題剩下從起點順時針轉到A,逆時針轉到B,順時針轉到C
    起點順時針轉到A = ((s-(a-40))%40)*9
    其中9是每一格的角度
    逆時針到B = ((b+40)-a)%40) * 9


    依此類推


    AC code :
    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int main()
    {
            int s;
            int a,b,c;
            int ans;
            
            while(1){
            
                    scanf("%d%d%d%d", &s, &a, &b, &c);
                    if(s==0 && a==0 && b==0 && c==0)
                            return 0;
                    ans = 1080;
                    ans += ((s-(a-40))%40) * 9;
                    ans += (((b+40)-a)%40) * 9;
                    ans += ((b-(c-40))%40) * 9;
                    printf("%d\n",ans);
            }
            
            return 0;
    }
    


    評分

    參與人數 1金幣 +2 收起 理由
    Sylveon + 2

    查看全部評分

    <這是個人簽名欄位>
    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表