2018ccpc女生赛 复现-程序员宅基地

技术标签: ccpc  

这次换了编译器,用Dev C++写的。
F

#include <bits/stdc++.h>
using namespace std;

int a[520], b[520];
int n,m;
int cnt=1;
int main(){
    
 int T;
 scanf("%d", &T);
 while(T--){
    
  int mina=65550,minb=65550;
  scanf("%d%d",&n,&m);
  for(int i=0;i<n;i++)
  {
    
   scanf("%d",&a[i]);
   mina=min(mina,a[i]);
  }
  if(m)
  {
    
   for(int i=0;i<m;i++)
   {
    
    scanf("%d",&b[i]);
    minb=min(b[i],minb);
   }
  }
  printf("Problem %d:\n",cnt+1000);
  printf("Shortest judge solution: %d bytes.\n",mina);
  if(m)
   printf("Shortest team solution: %d bytes.\n",minb);
  else
   printf("Shortest team solution: N/A bytes.\n");
  cnt++;
 }
} 

K

#include <bits/stdc++.h>
using namespace std;

int main(){
    
	int T;
	scanf("%d", &T);
	while(T--){
    
		int rank; 
		cin>>rank;
		string name;
		cin>>name;
		int prob;
		cin >>prob;
		string state;
		cin>>state;
		int p;
		if(state == "Running"){
    
			cin>>p;
		}
		if(state =="FB"){
    
			state = "AC*"; 
		}
		
		int tmp = 100;
		bool flag = 0;
		for(int i = 1; i <= 3; i++){
    
			if (rank >= tmp){
    
				flag = 1;
				printf("%d", rank/tmp);
				rank = rank - int(rank/tmp) * tmp;
			}
			else if(!flag)
				cout<<' ';
			else 
				cout<<'0';
			tmp =tmp /10;
		}
		//cout<<setiosflags(ios::left)<<setw(3)<<rank;
		
		cout<<'|';
		
		cout<<setiosflags(ios::left)<<setw(16)<<name;
		cout<<'|';
		
		cout<<prob;
		
		cout<<'|'<<'[';
		if(state != "Running"){
    
			cout<<"    ";
			cout<<setiosflags(ios::left)<<setw(6)<<state;
		}
		else{
    
			for(int i=1; i<=p; i++)
				cout<<'X';
			for(int i=p+1; i<=10; i++)
				cout<<' ';				
		}
		cout<<']'<<endl;
	}
	return 0;
} 

H

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int t,n;
string a;
int dp[maxn],tmp[maxn];
inline string read()
{
    
    char ch = getchar();
    string st1 = "";
    while (!((ch >= 'a') && (ch <= 'z')))
        ch = getchar();
    while ((ch >= 'a') && (ch <= 'z'))
        st1 += ch, ch = getchar();
    return st1;
}
int main()
{
    
 scanf("%d",&t);
 while(t--)
 {
    
  scanf("%d",&n);
  a=read();
  for(int i=0;i<=n;i++)
  {
    
   dp[i]=0;
   tmp[i]=0;
  }
  dp[n-1]=0,tmp[n-1]=n;
  if(n==2)
  {
    
   if(a[1]>a[2]||a[1]==a[2])
    printf(">\n");
   else
    printf("<\n");
  }
  else
  {
    
   for(int i=n-1;i>=0;i--)
   {
    
    if(a[i]==a[i-1])
    {
     
     dp[i-1]=dp[tmp[i]];
     tmp[i-1]=tmp[i];
     //printf("tmp[%d]=%d",i-1,tmp[i-1]);
    }
    else if(a[i-1]>a[i])
    {
    
     dp[i-1]=1;
     tmp[i-1]=i-1;
    }
    else
    {
    
     dp[i-1]=-1;
     tmp[i-1]=i-1;
    }
   }
   for(int i=0;i<n-1;i++)
   {
    
    if(dp[i]==1||dp[i]==0)
     printf(">");
    else
     printf("<");
   }
   printf("\n");
  }

 }
 return 0;
}

B

#include<bits/stdc++.h>
#define inf 0X3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

int a, b;
ull k;

bool check(ull n)
{
    
	__int128 ans = 1;
	for (int i = 0; i < a; i++)
	{
    
		ans = ans * n;
		if (ans > k)
			return false;
	}
	__int128 t = (__int128)ceil(log2(n));
	for (int i = 0; i < b; i++)
	{
    
		ans = ans * t;
		if (ans > k)
			return false;
	}
	return true;
}

int main()
{
    
	int t;
	scanf("%d", &t);
	while (t--)
	{
    
		cin >> a >> b >> k;
		ull l = 1, r = 1e18;
		while (l < r)
		{
    
			ull m = (l + r + 1) >> 1;
			if (check(m))
				l = m;
			else
				r = m - 1;
		}
		cout << r << endl;
	}
}

A
(只比了三个小时,这个题是之后看题解写的)

#include<bits/stdc++.h>
#define inf 0X3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

const int MOD = 1e9 + 7; 
const int maxn = 1e5 + 20;

vector<int> p[maxn]; // 质数表:放入i的倍数出现的位置 

int query(int i, int l, int r){
     //计算下标出现的次数 
	return upper_bound(p[i].begin(), p[i].end(), r) - lower_bound(p[i].begin(), p[i].end(), l);
}

bool binary(int l, int r, int d){
    
	// 分解质因数
	// 对每一个质数,考虑其是否能满足整除 
	for(int i = 2; i * i <= d; i++){
    
		int cnt = 0;
		while(d % i == 0){
    
			d /= i;
			cnt++;
		}
		if(cnt > query(i, l, r))
			return false;
	}
	if(d > 1 && query(d, l, r) < 1)
			return false;
	return true;
} 

int main(){
    
	int T;
	scanf("%d", &T);
	while(T--){
    
		int n, m;
		scanf("%d%d", &n, &m);
		for(int i = 0; i <= 1e5; i++)
			p[i]. clear();
		for(int i = 1; i <= n; i++){
    
			int x;
			scanf("%d", &x);
			//构造质数表 
			for(int k = 2; k * k <= x; k++){
    
				while(x % k == 0){
    
					x /= k;
					p[k].push_back(i); 
				}
			}
			if(x > 1)
				p[x].push_back(i); 
		}
		while(m--){
    
			int l, r, d;
			scanf("%d%d%d", &l, &r, &d);
			if(!binary(l, r, d))
				printf("No\n");
			else
				printf("Yes\n");
		}
	}
	return 0;
} 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xukeke12138/article/details/109091716

智能推荐

JS实现复制到剪贴板功能_js复制hidden内容到剪贴板-程序员宅基地

文章浏览阅读789次。原生JS实现原生JS,先使用 select() 选中输入框文本,然后使用 document.execCommand("Copy")复制到剪贴板前提条件select() 方法只对 <input> 和 <textarea> 有效输入框不能有disabled属性输入框不能有hidden属性输入框的 width 和 height 不能为0实现代码HTML<div> <input id="copyInput" type="text" value_js复制hidden内容到剪贴板

Zip压缩文件没有解压密码怎么办?_zip没密码怎么打开-程序员宅基地

文章浏览阅读5.7w次,点赞19次,收藏59次。Zip压缩文件没有解压密码怎么办?在平时,我们难免的需要到浏览器上面寻找一些需要的资源,可往往下载好了zip文件后,解压时却需要密码。真的让人很痛苦,这样设置密码无非是想利用这些资源来赚取利益罢了。那有没有什么办法可以破解zip解压时需要的密码呢?答案当然是有的,下面我就其中一种方法具体演示一遍,希望对大家有所帮助。(第一次写博客,可能讲的没有那么详细,请见谅)首先我们需要下载一个破解软件..._zip没密码怎么打开

ubuntn系统下cuda9.0+cudnn7.5安装教程_ubuntu20.10安装cuda9.0+cudnn7-程序员宅基地

文章浏览阅读1.5k次。在离开之际,将自己的电脑系统重新升级了下,在此做如下记录,以便后续查证。1、双系统安装 这里只是简单说下,win10+Ubuntu,这次采用的Ubuntu分区是“boot”+“swap”+“/”的形式,具体可以去参考另一篇博客。2、cuda安装(1)下载安装文件检查自己的电脑配置是否支持cuda加速(一般英伟达系列显卡支持),这里推荐直接去https://d......_ubuntu20.10安装cuda9.0+cudnn7

VMware ESXi 7.0 U3n macOS Unlocker & OEM BIOS (标准版和厂商定制版)_esxi unlocker-程序员宅基地

文章浏览阅读1k次。VMware ESXi 7.0 U3n macOS Unlocker & OEM BIOS (标准版和厂商定制版)_esxi unlocker

comsol5.4模型涂色_comsol几何模型怎么设置颜色-程序员宅基地

文章浏览阅读1.5w次,点赞8次,收藏13次。COMSOL5.4版本几何模型上色comsol中的几何模型默认为灰白色,为了使不同零件在建模过程中具有分辨度、后期图像更直观,可以给不同的零部件添加不同的颜色。添加方法如下。1.导入一个灰白色模型这是一个锥盆在一个球形域内,从图中可以看出纯灰白色的图像很难将两者分开。这是可以考虑给各自赋不同的颜色。在组件中定义显示选择,选中球体的边界,并设置为蓝色,再点击抑制选择突出显示按钮,即可。同样的操作,将里面的锥盆设置为绿色。当然了,配置什么颜色完全取决于各位的审美。本次分享到此结束,谢谢浏览。._comsol几何模型怎么设置颜色

交叉编译openssh出现错误Makefile:548: recipe for target 'install_sw' failed_makefile:546: recipe for target 'install_sw' faile-程序员宅基地

文章浏览阅读6.9k次,点赞3次,收藏4次。交叉编译openssh出现错误将OpenSSH移植到ARM Linux,交叉编译openssh时,在第二步编译openssl时,make install出现如下错误:cp: 'e_os2.h' and '/home/word/iTOP-4412-Linux-ssh/openssl-1.0.2l/include/openssl/e_os2.h' are the same fileMakefile:5_makefile:546: recipe for target 'install_sw' failed

随便推点

OC基础知识点的总结(全),学习OC的日记_oc setobject-程序员宅基地

文章浏览阅读520次。"font-size:18px;">类的方法 1.在加号方法中不能使用实例变量,实例变量是依托于对象存在的只有有了对象,实例变量才会有空间 2.self 谁调用该方法,self就代表谁 当方法是一个减号方法时, 调用该方法的对象是谁,self就代表当前对象 当方法是一个加号方法时, 调用该方法的类是谁,self就代表当前类 3._oc setobject

解决Java上传文件到Linux 没有读权限_linux设置java上传文件的权限-程序员宅基地

文章浏览阅读1.8k次。问题描述上传图片后想对文件进行查看发现一直是403错误,到linux下找到上传文件的,发现其群组和其他组没有读的权限,修改一下权限则可以访问。由此判定由权限问题导致的403错误。导致权限不足原因<1> tomcat版本差别高版本的tomcat会出现这种问题解决问题<1> 检查linux-- 查看系统默认配置vim /etc/profilelinux文件访问默认权限与umask有关,如果是002或022就正常没有问题。<2> 检查tomcat[_linux设置java上传文件的权限

“有嗅觉”的机器人,闻出8种气味_“有嗅觉”的机器人能闻出8种气味,灵敏度比普通设备高10000倍-程序员宅基地

文章浏览阅读163次。当机器人接触不同气味时,这个传感器向与之连接的一个电子系统传递不同的电信号,随后,该团队使用机器学习方法创建了一个“气味系统库”,包括柠檬、杏仁糖、天竺葵、和混合气味等,并使用了一个随机森林分类器进行气味分类。研究显示,这台机器人能够嗅出天竺葵、柠檬、杏仁蛋白糖等8种气味,就算混合在一起也能分辨出来,而且灵敏度比气相色谱-质谱法(GC-MS)高10000倍!甚至能检测出0.001微克的挥发性发挥物。以色列特拉维夫大学研究人员把蝗虫触须安装到机器人上,利用蝗虫的灵敏嗅觉将机器人辨别气味的灵敏度提高约1万倍。_“有嗅觉”的机器人能闻出8种气味,灵敏度比普通设备高10000倍

阿里CTO程立:阿里巴巴的开源历程、理念和实践-程序员宅基地

文章浏览阅读3.7k次。云和开源,已然共同成为数字世界的根,需要政府和企业、需要我们大家一起来共建和共享。

Vue结合3D技术实现VR看房效果_vue 3d前进看房-程序员宅基地

文章浏览阅读2.6k次。vue 项目中实现vr360度全景看房图片预览_vue 3d前进看房

强烈推荐 10 本我私藏的数据库书单,附读书方法_数据库书籍-程序员宅基地

文章浏览阅读1.2w次,点赞25次,收藏130次。二哥有推荐的数据库书单吗?关于 MySQL 和 Oracle 的,谢谢了。读者小猫私信问了我上面这个问题,我觉得问题挺典型的,值得写篇文章分享一下。因为对于 Java 程序员来说,几乎不可避免地要和数据库打交道,MySQL 和 Oracle 恰好又是两个使用最广泛的数据库。MySQL 和 Oracle 都属于关系型数据库,现在都隶属于甲骨文公司,这家公司的产品很牛逼,CEO 拉里埃尔森也很牛逼,和史蒂夫乔布斯是铁哥们。Oracle 相对 MySQL 更沉重一些,属于企业级应用。而 MySQL 是开源._数据库书籍