蓝桥打卡-Day14

酶和ATP 2022年03月22日 564次浏览

算式900-2017省赛

https://www.lanqiao.cn/problems/649/learning/

暴力dfs解决 答案是(6048-5973)*12=900

#include <iostream>
using namespace std;
int st[10];
int n[10];

void dfs(int u)
{
  if(u > 9)
  {
    // 0 1 2 3
    int a = n[0] * 1000 + n[1] * 100 + n[2] * 10 + n[3];
    // 4 5 6 7
    int b = n[4] * 1000 + n[5] * 100 + n[6] * 10 + n[7];
    // 8 9
    int c = n[8] * 10 + n[9];
    if((a - b) * c == 900)
      cout << a << ' ' << b << ' ' << c << endl;
  }  
  else
  {
      for(int i = 0;i < 10;i ++)
      {
        if(st[i]) continue;

        st[i] = true;
        n[u] = i;
        dfs(u + 1);

        st[i] = false;
      }

  }
}

int main()
{
  dfs(0);
  return 0;
}

谈判

https://www.lanqiao.cn/problems/545/learning/

输入输出样例
示例 1
输入

4
9 1 3 5

输出

31
#include <algorithm>
#include <cstring>
#include <iostream>
using namespace std;

const int N = 1010;
int b[N];

int main() 
{
    int n;
    cin >> n;

    for (int i = 0; i < n; i++) cin >> b[i];

    sort(b, b + n);

    int now = b[0] + b[1];
    int sum = now;
    
    for (int i = 2; i < n; i++)
    {
      now += b[i];
      sum += now;
    }


    cout << sum << endl;

    return 0;
}

幸运数-2013省赛

https://www.lanqiao.cn/problems/214/learning/

#include <algorithm>
#include <iostream>
using namespace std;

const int N = 1e6 + 10;
bool l[N];
int idx[N];

void makeLucky() {
    int index = 1;
    for (int i = 1; i < 100; i++) {
        if (l[i]) continue;
        // 记录是第几个幸运数字
        idx[i] = index++;
        // 开始删除数字
        int cnt = 0;
        for (int j = i + 1; j < 1e6 + 5; j++) {
            // 如果已经被删除了
            if (l[j]) continue;
            // 计数器
            cnt++;
            // 删除数字
            if (cnt % idx[i] == 0) l[j] = true;
        }
    }
}

int main() {
    int m, n;
    cin >> m >> n;

    makeLucky();

    int cnt = 0;

    for (int i = 0; i < N; i++) {
        if (i >= n) break;
        if (!l[i] && i >= m) cnt++;
    }

    for (int i = 1; i < 100; i++)
        if (!l[i]) cout << i << ' ';
    cout << cnt << endl;

    return 0;
}

123-2021国赛

https://www.lanqiao.cn/problems/1591/learning/