NOIP 2012 年普及组初赛试题整理「建议收藏」

NOIP 2012 年普及组初赛试题整理「建议收藏」问题求解题目答案:5题目解析:贪心法。构造出最坏情况下至多选4点、不在同一条直线上,此时再添加任意一个点,则一定出现3点一线。题目答案:2880题目解析:圆排列问题。5名大陆选手的排列方案数为:5!5名港澳选手安排在大陆选手之间的5个空位的排列方案数为:5!总的排列方案数为:5!×5!。但每位选手左边相邻的选手均相同,为重复方案。最终结果为:阅读程序#include<iostream>usingnamespace..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题求解

NOIP 2012 年普及组初赛试题整理「建议收藏」题目答案:

5

题目解析:

贪心法。构造出最坏情况下至多选4点、不在同一条直线上,此时再添加任意一个点,则一定出现3点一线


NOIP 2012 年普及组初赛试题整理「建议收藏」

题目答案:

2880

题目解析:

圆排列问题。

5名大陆选手的排列方案数为:5 ! 
5名港澳选手安排在大陆选手之间的5个空位的排列方案数为:5 ! 
总的排列方案数为:5 ! × 5 ! 。

但每位选手左边相邻的选手均相同,为重复方案。
最终结果为:5! \times 5! \div 5 = 2880


阅读程序

#include <iostream>
using namespace std;
int n, i, j, a[100][100];
int solve(int x, int y){
    int u, v;
    if (x == n)return a[x][y];
    u = solve(x + 1, y);
    v = solve(x + 1, y + 1);
    if (u > v)
        return a[x][y] + u;
    else
        return a[x][y] + v;
}
int main(){
    cin>>n;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= i; j++)
            cin>>a[i][j];
    cout<<solve(1, 1)<<endl;
    return 0;
}

输入:

5
2
-1 4
2 -1 -2
-1 6 4 0
3 2 -1 5 8

输出:________

题目答案:

14

题目解析:

这个程序是在找一条从 (1,1) 到 (n,x)(1≤x≤n)开始的和最大的路径,每次只能从 (i, j) 走到 (i+1, j) 或 (i+1, j+1)。


完善程序

NOIP 2012 年普及组初赛试题整理「建议收藏」

#include<iostream>
using namespace std;
const int SIZE = 100;
int x[SIZE], y[SIZE], f[SIZE];
int n, i, j, max_f, ans;
int main(){
    cin>>n;
    for (i = 1; i <= n; i++)
        cin >> x[i] >> y[i];
    max_f = 0;
    for (i = 1; i <= n; i++){
        f[i] =①;
        for (j = 1; j <= n; j++){
            if (x[j] < x[i] && ②)
                ③;
        }
        if (④){
            max_f = f[i];
            ⑤;
        }
    }
    for (i = 1; i <= n; i++)
        cout<<f[i]<<endl;
    cout<<ans<<endl;
}

填空④: f[i] >= max_f

题目解析:

若填 f[i] > max_f ,则当战斗力并列时不会更新最大值,题目要求为战斗力相同时,输出最大的编号,所以填f[i] >= max_f


NOIP 2012 年普及组初赛试题整理「建议收藏」

#include<iostream>
#include<cstring>
using namespace std;
const int SIZE = 25;
bool used[SIZE];
int data[SIZE];
int n, m, i, j, k;
bool flag;
int main(){
    cin>>n>>m;
    memset(used, false, sizeof(used));
    for (i = 1; i <= m; i++){
        data[i] = i;
        used[i] = true;
    }
    flag = true;
    while (flag){
        for (i = 1; i <= m-1; i++)cout<<data[i]<<"";
        cout << data[m] << endl;
        flag =①;
        for (i = m; i >= 1; i--){
            ②;
            for (j = data[i]+1; j <= n; j++)
                if (!used[j]){
                    used[j] = true;
                    data[i] =③;
                    flag = true;
                    break;
                }
            if (flag){
                for (k = i+1; k <= m; k++)
                    for (j = 1; j <=④; j++)
                        if (!used[j]){
                            data[k] = j;
                            used[j] = true;
                            break;
                        }
                ⑤;
            }
        }
    }
}

NOIP 2012 年普及组初赛试题整理「建议收藏」 

题目解析:

通过枚举的方式,输出排列。

空①,初始化标志变量 flag = false
空②,从最后一个位置的数字开始,将data[i]设置为未使用,used[data[i]] = false
空③,将位置i设置为数j
空④,枚举1~n所有可选数字,n
空⑤,枚举到一组方案,跳出for (i = m; i >= 1; i–)进行输出,break


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172078.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 大四 Java开发实习近一年 记录(每6至12月更新一次)

    大四 Java开发实习近一年 记录(每6至12月更新一次)17年7月4号是我实习生入职的日子,因为是校企合作,所以没有面试、老师推荐、直接入职。刚来北京第一个感觉就是人多,还有就是热。刚到公司第一天,部门经理安排了我的mentor,他也是我的项目经理,安排座位之后给他我发了一些项目文档,让我先熟悉一下项目,然后给我发了几个常用工具的安装包,最重要的就是IDEA,之前在学校一直用MyEclipse,用了IDEA之后感觉确实不错,界面很漂亮。…

  • java获取Date时间的各种方式汇总「建议收藏」

    java获取Date时间的各种方式汇总「建议收藏」1. 常用的时间获取方式public class DateUtils {   /**   * 获取时间戳   * 输出结果:1438692801766   */  @Test  public void getTimeStamp() {    Date date = new Date();    long times = date.getTime();    System.o…

  • forkjoinpool 弊端_oracle数据库分页查询sql

    forkjoinpool 弊端_oracle数据库分页查询sql使用forkjoin框架分页查询所有数据的例子importio.swagger.annotations.ApiOperation;importlombok.AllArgsConstructor;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.PropertySou

  • Protecting World Leaders Against Deep Fakes(CVPR 2020)

    Protecting World Leaders Against Deep Fakes(CVPR 2020)文章目录IntroductionInnovationMethodExperimentProtectingWorldLeadersAgainstDeepFakes(CVPR2020)paperPDFIntroduction深度学习的应用促使了人脸伪造技术的巨大进步。现有AI-合成的人脸伪造方式可以分为以下三种:faceswap:将视频中出现的人脸替换为其他人的脸,一般对整个面部进行对齐和替换lip-sync:使得视频中的人物口型按照既定音频变化,一般仅伪造目标的唇部区域pupp

  • 你知道如何从零开始学c++游戏编程吗「建议收藏」

    你知道如何从零开始学c++游戏编程吗「建议收藏」在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。平台与编程语言选择首先,游戏开发的平台就有很多类型:个人主机平台:Windows、Linux、MacOC;移动平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;专业主…

  • 情感词典构建_文本情感分析的意义

    情感词典构建_文本情感分析的意义这是4个月前做的。受当时的知识水平的限制,还没有接触到机器学习和相关理论,记录一下作为以后备查。当然,如果你想看源码和资料,点击我。从结项到现在,博主一直在使用机器学习并结合相关论文进行情感极性分析(源码点我),效果远远好于本篇代码的效果。但是,本篇的数据处理和特征选择还是很有意义的,特此记录。摘要        当今社会媒体的发展导致了金融舆论数据的爆炸式增长。因此,针对金融舆论数据的情

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号