NOIP2008普及组
T2】排座椅

横行相同时列数+1,纵行相同时行数+1。
主要是用桶排序,因为范围太大了,用sort会超时
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cstdio>
#include<queue>
#include<map>
#include<vector>
#include<set>
using namespace std;
const int maxn=1010;
const int INF=0x3fffffff;
int m,n,k,l,d;
int xi,xj,yi,yj;
int heng[1001],shu[1001];
int h[1001],s[1001];
int main(){
scanf("%d %d %d %d %d",&m,&n,&k,&l,&d); //这题数据量大,用cin肯定会超时的
int maxheng=0,maxshu=0;
for(int i=1;i<=d;i++){
scanf("%d %d %d %d",&xi,&xj,&yi,&yj);
if(xi==yi) {
int t=min(xj,yj);
if(t>maxshu) maxshu=t;
shu[t]++;
}
else if(xj==yj) {
int t=min(xi,yi);
if(t>maxheng) maxheng=t;
heng[t]++;
}
}
for(int i=1;i<=k;i++){ //桶排序 ,用sort很费时
int maxs=-1,d;
for(int j=1;j<m;j++){
if(maxs<heng[j]){
maxs=heng[j];
d=j;
}
}
heng[d]=0;
h[d]++;
}
for(int i=1;i<=l;i++){
int maxs=-1,d;
for(int j=1;j<n;j++){
if(maxs<shu[j]){
maxs=shu[j];
d=j;
}
}
shu[d]=0;
s[d]++;
} //我的四次排序:超时了 呵呵
/*
sort(heng,heng+maxheng+1,cmp);
sort(shu,shu+maxshu+1,cmp);
sort(heng,heng+k,cmp2);
sort(shu,shu+l,cmp2);
*/
for(int i=1;i<=maxheng;i++){
if(h[i]) printf("%d ",i);
}
cout<<endl;
for(int i=1;i<=maxshu;i++){
if(s[i]) printf("%d ",i);
}
return 0;
}
T3】传球游戏

感觉像是数学题
。。。但是并不是
- //知道是简单的DP
- //f[i][j]表示第i次传到第j个人手里的方法总数
- //f[i][j] = f[i-1][j-1]+f[i-1][j+1];(还要对环做一下处理)
- //边界:f[0][1] = 1;
- //解:f[m][1]
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cstdio>
#include<queue>
#include<map>
#include<vector>
#include<set>
using namespace std;
const int maxn=1010;
const int INF=0x3fffffff;
//知道是简单的DP
//f[i][j]表示第i次传到第j个人手里的方法总数
//f[i][j] = f[i-1][j-1]+f[i-1][j+1];(还要对环做一下处理)
//边界:f[0][1] = 1;
//解:f[m][1];
int a[maxn][maxn];
int n,m;
int main(){
cin>>n>>m;
int l,r;
a[0][1]=1;
for(int i=1;i<=m;i++){ //传m次
for(int j=1;j<=n;j++){
if(j==1) l=n;
else l=j-1;
if(j==n) r=1;
else r=j+1;
a[i][j]=a[i-1][l]+a[i-1][r];
}
}
cout<<a[m][1]<<endl;
return 0;
}
T4】立体图


怕了怕了
看起来就好复杂
就是模拟
1 算出画布的长宽L、K
L = 4n+1+2m
k = max(3*h[i][j]+1+2*(m-i+1));
2 立方体(i, j)的左下角在画布上的坐标(x, y)
x = k - 2*(m-i)
y = 4*(j-1)+2*(m-i)+1;
3 写出Draw(i, j)函数 以画布i,j为左下角画一个方格
#include <iostream>
using namespace std; int m, n, k, l;
int h[101][101];
char canvax[1001][1001];
char block[6][8]={
"..+---+",
"./ /|",
"+---+ |",
"| | +",
"| |/.",
"+---+..",
};
void draw(int x,int y){
for(int i=0;i<6;i++){
for(int j=0;j<7;j++){ //x,y是左下角
if(block[i][j]!='.') canvax[x-5+i][y+j]=block[i][j];
}
}
}
int main(){
cin>>m>>n;
l=4*n+1+2*m;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>h[i][j];
k=max(k,3*h[i][j]+1+2*(m-i+1));
}
}
for(int i=1;i<=k;i++){
for(int j=1;j<=l;j++) canvax[i][j]='.';
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
int x,y;
x=k-2*(m-i);
y=4*(j-1)+2*(m-i)+1;
while(h[i][j]>0){
h[i][j]--;
draw(x,y);
x-=3;
}
}
}
for(int i=1;i<=k;i++,cout<<endl){
for(int j=1;j<=l;j++)cout<<canvax[i][j];
}
return 0;
}
NOIP2008普及组的更多相关文章
- NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每 ...
- noip2008普及组4题题解-rLq
(啊啊啊终于补到了今天的作业了) 本题地址:http://www.luogu.org/problem/show?pid=1058 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣 ...
- NOIP2008普及组 题解 -SilverN
T1 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符( ...
- NOIP2008普及组题解
NOIP2008普及组题解 从我在其他站的博客直接搬过来的 posted @ 2016-04-16 01:11 然后我又搬回博客园了233333 posted @ 2016-06-05 19:19 T ...
- NOIP2008普及组第3题 传球游戏
NOIP2008普及组第3题 传球游戏 时间限制: 1 Sec 内存限制: 128 MB提交: 29 解决: 16[提交][状态][讨论版][命题人:外部导入] 题目描述 上体育课的时候,小蛮的老 ...
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一 ...
- noip2008普及组3题题解-rLq
(第一次写题解,随意喷) (只是前一天的作业哈) (先凑个数) 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈 ...
- NOIP2008 普及组T3 传球游戏 解题报告-S.B.S.
题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...
- NOIP2008普及组传球游戏(动态规划)——yhx
题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...
随机推荐
- 移动端wifi测试点总结
1.WiFi功能测试: 验证WiFi模块设置(如:添加AP.静态IP及动态IP的设置等)的相应功能是否正常: 2.WiFi特性专项测试: 1)WiFi打开速度或搜索速度的测试:验证WiFi,WiFi打 ...
- Android MD5加密、RSA加密
现在公司做金融项目,需要考虑安全加密方面的问题.感谢大牛同事(冯哥) ,给我很大的帮助. 考虑到安全优化,我们把秘钥.加密步骤放到native中.考虑用到的技术:(1 )jni,(2 )OpenSSL ...
- 关于给widget添加属性
在django中,我们通过修改Form/ModelForm的初始化函数__init__修改表单的显示样式,其中修改widget的属性操作和字典操作一致. 1.给widget添加属性 说明:这是在不影响 ...
- Oracle View的Force參數有什麼用途?
1. 當建立View的SQL查詢語句因為各種問題還暫時無法執行時,可以使用Force參數先建立成功2. SQL的問題沒有修正之前,是無法正常使用View的 語法: CREATE Force VIEW ...
- CSS 多栏布局 固定布局 流动布局
正常情况下都应该保持元素 height 属性的默认值 auto . 多栏布局,某一栏目占的总宽度包括它的,Width,margin,padding ,border. CSS3中,应用 box-siz ...
- Vue源码主体分析
vue的响应式和react的函数式编程思想是很不同的. vue最基本的原理是对getter和setter的代理模式.以及观察者模式. 当数据发生变化时,通知观察者. 而watcher是通过触发数据的g ...
- ABAP链接FTP把txt文件数据获取到内表
啥都不说,直接上代码 ******* 如果无法链接FTP,可能需要往表SAPFTP_SERVERS加入IP地址和端口(21)即可 DATA:p_host TYPE char64 VALUE 'IP', ...
- DDD(三)DDD实战、贫血模型与充血模型
DDD(三)DDD实战.贫血模型与充血模型 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 贫血模型与充血模型 1.贫血模型:一 ...
- pgsql给表字段设置默认值及设置主键
ALTER TABLE pavement_damage_dtl_temp add PRIMARY key(id); ALTER table pavement_damage_dtl_temp alter ...
- Mac预览怎么用 Mac预览功能实用技巧大全
Mac预览怎么用?有很多的用户以为Mac自带的预览功能只具有简单的图片浏览功能,其实不然,其实"预览"是一款强大的看图.修图.改图软件,也同时是一款多功能的 PDF 阅读与编辑工具 ...