美文网首页ACM
Uva(1452)(Jump)

Uva(1452)(Jump)

作者: kimoyami | 来源:发表于2018-08-10 09:47 被阅读0次

链接:https://vjudge.net/problem/UVA-1452
思路:约瑟夫环问题的变形,之前一直对约瑟夫环的递推没搞太懂,现在大概看懂了。约瑟夫环是可以分解成子问题,即如果现在有n人,出列一人后就变成n-1人的子问题,同时建立一个映射关系,而求最后一人的则是从1个人推回n人的情况。求最后三人的可以看作先求最后一人,然后把最后一人除去,变成n-1个人求最后一人,然后再除去,变成n-2个人求最后一人。
附上约瑟夫环问题的递推公式:f(n) =( f(n-1)+k)% n
代码:

#include<iostream>
using namespace std;

int t,n,k,ans1,ans2,ans3;

int main(){
     cin>>t;
     while(t--){
        cin>>n>>k;
     ans1 = 0;
     ans2 = (k-1)%2;
     ans3 = (k-1)%3;
     for(int i=2;i<=n;i++){
     ans1 = (ans1+k)%i;
     }
     for(int i=3;i<=n;i++){
     ans2 = (ans2+k)%i;
     }
     for(int i=4;i<=n;i++){
     ans3 = (ans3+k)%i;
     }
    cout<<ans3+1<<" "<<ans2+1<<" "<<ans1+1<<endl;
     }
    return 0;
}

相关文章

  • Uva(1452)(Jump)

    链接:https://vjudge.net/problem/UVA-1452思路:约瑟夫环问题的变形,之前一直对约...

  • 素数练习题

    UVA 10375 UVA 10791 UVA10375 Choose and divide 题解 先素数打表,然...

  • jump

    jump jump jump over

  • 我想养只小怪兽

    Jump! Jump! Jump! Give me five!

  • Jump Jump Jump

    海那边的太阳迎着晨风展露着笑脸, 大大的伸了一个懒腰,一跃,跃上了海面。 跃上了海面,跃上了天空,跃入了四时四季。...

  • 有趣的数学题

    UVA12716 UVA11582 UVA12716 GCD XOR 题解 参考这题用到2个结论a ^ b = c...

  • 拍卖史上最贵的五件艺术品

    1、 莱昂纳多·达·芬奇《救世主》 莱昂纳多·达·芬奇(1452 -1519)莱昂纳多·达·芬奇(1452 -15...

  • 字典树

    UVA 11488题目链接https://uva.onlinejudge.org/index.php?option...

  • ACM 国内外几个网站 & 题目分类

    国外 西班牙Valladolid大学 Uva:https://uva.onlinejudge.org俄罗斯Ural...

  • AVIA丨自远古而来的浪漫

    You Jump I Jump Take a great view when you jump out of th...

网友评论

    本文标题:Uva(1452)(Jump)

    本文链接:https://www.haomeiwen.com/subject/hpxkbftx.html