zoukankan      html  css  js  c++  java
  • 2017.2.12【初中部 GDKOI】模拟赛B组 T1:圆盘染色

    【NOIP模拟】圆盘染色(color)
    Description

    将一个圆盘分为n个扇形,每个扇形可涂红、黄、蓝三种颜色中的一种,但相邻两个扇形的颜色必须不同,问有多少中涂法。

    Input

    第一行一个数t表示t组数据,接下来t行每行一个数n表示分成n个扇形。

    Output

    对于组数据输出一个数表示染色的方案数,结果模12345678。

    Sample Input

    2

    1

    2

    Sample Output

    3

    6

    Data Constraint

    数据范围:

    30%的数据t<=10,n<=100。

    100%的数据t<=10000,n<=10^9。

    题解:
    这里首先将一个做题方法。发现任何暴力或不像高级算法的数学题,请想想找规律。
    这个找规律就是打一个暴力,然后一个一个去把各种样例以正确的暴力求出来,再手玩一下就可以发现规律了。这是一种很好用的规律题方法。
    本题就按照以上的方法求出一些规律就手玩一下。找出一个规律:当n为奇数时,输出(2n2)。当n为偶数时,输出(2n+2)。当n=1时特判。A了。

    标程:

    var
            t,i,j,k,l,n,m:longint;
    function qpower(a,b,n:int64):int64;
    var
            t,y:int64;
    begin
            t:=1;
            y:=a;
            while b<>0 do
            begin
                    if(b and 1)=1 then
                            t:=t*y mod n;
                    y:=y*y mod n;
                    b:=b div 2;
            end;
            exit(t);
    end;
    begin
            assign(input,'color.in');reset(input);
            assign(output,'color.out');rewrite(output);
            readln(t);
            for m:=1 to t do
            begin
                    readln(n);
                    if n=1 then
                    begin
                            writeln(3);
                    end
                    else
                    if n=2 then
                    begin
                            writeln(6);
                    end
                    else
                    begin
                            i:=qpower(2,n,12345678);
                            if n mod 2=1 then
                            writeln((i-2) mod 12345678)
                            else
                            writeln((i+2) mod 12345678);
                    end;
            end;
            close(input);close(output);
    end.
    
    
    我活在这夜里。无论周围多么黑暗,我都要努力发光!我相信着,终有一天,我会在这深邃的夜里,造就一道最美的彩虹。
  • 相关阅读:
    Java虚拟机JVM学习05 类加载器的父委托机制
    java 接口
    java 抽象类
    代码块(2)
    获取超额收益的思考
    HttpServer
    交易过程思考
    A股时间窗口
    redash学习记录
    MySQL学习记录
  • 原文地址:https://www.cnblogs.com/RainbowCrown/p/11148454.html
Copyright © 2011-2022 走看看