Dotcpp编程2019年三月蓝桥杯专场

题目链接http://www.dotcpp.com/oj/contest1480.html

 

问题 B: 汉诺塔

#include<iostream>
using namespace std;
int n;
void move(int a,int n,int b){   //将编号为n的木块 从a移到b
    cout << "Move " << n << " from " << a << " to " << b << endl;
}
void Ham(int n,int a,int b,int c){  //将n块木块从a移到c上,b为辅助
    if (n == 1)      
        move(a,n,c);
    else{
        Ham(n - 1, a, c, b);  
        move(a,n,c);
        Ham(n - 1,b,a,c);
    }
}
int main()
{
    cin >> n;
    Ham(n,1,2,3);
    return 0;
}
View Code

 

问题 C: 线段覆盖

暴力

#include<iostream>
using namespace std;
int n,m;
int l, r, c,x;
int a[100000 + 10];
int main()
{
    cin >> n >> m;
    while (m--){
        cin >> l >> r >> c;
        for (int i = l; i <= r; i++)
            a[i] = c;
    }
    cin >> x;
    cout << a[x] << endl;;
    return 0;
}
View Code

 

 问题 E: 数数字

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll m, n;
int main()
{
    ll ans = 0;
    cin >> n >> m;
    n %= 15, m %= 15;
    if (n > m){
        m += 15;
    }
    for (int i = n; i <= m; i++){
        ans += i;
    }
    cout << ans % 15 << endl;
    return 0;
}
View Code

 

posted @ 2019-03-16 21:25  looeyWei  阅读(401)  评论(0编辑  收藏  举报