The 16-th Beihang University Collegiate Programming Contest (BCPC 2021) - Preliminary

statements.pdf (codeforces.com)

 Problem A. 莫卡与 MCPC

除了2输出就行

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		if(n==2) cout<<"OK";
		else cout<<"An invalid response was received from the upstream server";
		if(t!=0) cout<<'\n';
	}
}

 Problem B. bb 去食堂

可以根据新主楼的位置,将平面直角坐标系划分为九个区域。在四角区域内的点,最 近距离为该点到对应矩形顶点连线段的长度。在空白区域内的点,最近距离为该点到对应矩形边垂线段 的长度。枚举所有点,分类讨论计算距离即可。

时间复杂度 O(n)。

#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int n;
double a, b;
double x1, x2, yy, y2;//输入错了,改下
double dis;
double minn[100010];
int minni;
int i;
void countdis(int u, int v, int x, int y){
    dis = pow(abs(u - x), 2) + pow(abs(v - y), 2);
    dis = pow(dis, 0.5);
}
void hh(double u, double v, double y){
    if(u < x1){
        countdis(u, v, x1, y);
        minn[i] = dis;
        minni = i;
    }
    else if(u >= x1 && u <= x2){
        minn[i] = abs(v - y);
        minni = i;
    }
    else{
        countdis(u, v, x2, y);
        minn[i] = dis;
        minni = i;
    }
}
int main(){

    cin >> n;
    cin >> x1 >> x2 >> yy >> y2;
    for(i = 0; i < n; i ++) {
        cin >> a >> b;
        if(b > y2){
            hh(a, b, y2);
        }
        else if(b <= y2 && b >= yy){
            if(a < x1){
                minn[i] = x1 - a;
                minni = i;
            }
            else{
                minn[i] = a - x2;
                minni  = i;
            }
        }
        else{
            hh(a, b, yy);
        }
    }
    double ss = 10000;
    for(int j = 0; j < n; j ++){
        if(ss > minn[j]) {
            ss = minn[j];
            minni = j;
        }
    }
    cout << minni + 1 << endl;
    return 0;
}

Problem C. 抵制阿草

本题可以分若干种情况讨论。

• n = 0 时,特判输出 0。

• 否则,首先考虑没有异或的情况: – 考虑第一次操作,对于每一对需要合并的数,只有最后一位不同。因此与/或后只有最后一位 变化了,其余的位没有发生改变,并且会发现这次操作后所有数的最后一位都相同。如果这次 操作是或,最后一位是 1,否则为 0。 – 考虑第 i 次操作,最后 i − 1 位完全相同,本次操作后不会发生改变。因此忽略后 i − 1 位可 变为了第一次操作的情况。 这种情况下,根据与/或的操作次序向答案添加 1, 0 即可。

• 考虑异或出现次数为 1: – 假设此时是第 i 次操作。由于所有数后 i − 1 位全部相同,因此异或后所有数的后 i − 1 位会 全部变为 0。对于第 i + 1 位及前面的位,在合并的时候,相邻的两个数一定是相同的,因此 也会全部变为 0。第 i 位则会变为 1。因此操作后所有数均会变为 2 i−1,并且会发现之后的所 有与/或对答案不会产生任何影响。

• 考虑异或出现次数大于 1: – 由于第一次异或后所有数都相同了,因此第二次异或后所有数都会变为 0,答案为 0。

时间复杂度 O(n)。

<think>好的,用户想找VS Code中支持将Word和PDFMarkdown的插件。首先,我需要回忆一下之前了解过的相关插件。根据用户提供的引用,特别是引用[1]提到Pandoc命令进行格式换,而插件可能没有直接支持。用户可能已经知道Pandoc,但希望有更集成的插件解决方案。 接下来,我应该检查常见插件是否有此功能。比如,Markdown All in One主要专注于编辑功能,如目录和公式支持,但没有提到文件换。另一个插件,Pandoc Integration,可能允许用户直接在VS Code中使用Pandoc命令,但需要手动配置。 用户可能需要指导如何利用现有工具,比如Pandoc,来换文件。同时,可能需要推荐其他方法,比如在线换工具或安装其他软件如LibreOffice。此外,引用[2]提到扩展支持LaTeX公式,这可能与换后的内容格式化有关,但并非直接处理换。 需要注意用户可能希望尽量在VS Code内完成换,但实际可行的插件可能有限,所以需要提供替代方案,并确保步骤清晰。还要验证Pandoc是否支持Word和PDFMarkdown换,例如,WordMarkdown可能可行,但PDF可能效果不佳,需要额外工具如pdf2md或XPDF。 总结回答时,应分步骤说明使用Pandoc的方法,推荐相关插件辅助,并补充其他工具作为备选,同时提醒用户PDF换的局限性。确保引用正确的来源,如引用[1]和[2]提到的插件和Pandoc使用。</think>### VS Code中将Word/PDF换为Markdown的解决方案 #### 1. **使用Pandoc命令行工具** - **安装Pandoc** 首先在系统环境安装跨平台文档换工具 [Pandoc](https://pandoc.org/),这是学术界广泛使用的开源工具。 - **换Word到Markdown** 在VS Code终端中执行命令: ```bash pandoc input.docx -o output.md ``` 支持保留基础格式(标题、列表、表格等)[^1]。 - **PDFMarkdown** PDF因格式复杂,需先用`pdftotext`或`pdf2md`提取文本,再用Pandoc处理: ```bash pdftotext input.pdf - | pandoc -f html -t markdown -o output.md ``` #### 2. **VS Code插件辅助** - **Pandoc Integration插件** 提供图形界面调用Pandoc命令,支持一键换(需提前配置Pandoc路径)。 - **Markdown Paste插件** 可将Word内容复制到剪贴板后,用`Ctrl+Alt+V`粘贴为Markdown格式(依赖外部解析服务)。 #### 3. **其他工具补充** - **在线换工具** 如[CloudConvert](https://cloudconvert.com/)支持直接上传Word/PDFMarkdown。 - **LibreOffice命令行** 对DOCX文件先用`libreoffice --headless --convert-to html`为HTML,再用PandocMarkdown。 #### 注意事项 - **PDF换局限性** 由于PDF内容多为固定布局,换后可能丢失格式或需要大量手动调整[^2]。 - **数学公式兼容性** 换后的LaTeX公式需配合插件如**Markdown+Math**实现预览。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUGA no sugar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值