1. 程式人生 > >【noip2008】【普及組】立體圖

【noip2008】【普及組】立體圖

題目圖太多不好複製,自己去找了,反正noip到處都有。
這裡發一道普及組模擬水題,主要是為了後面的一道題,現在這裡mark一下。
直接放程式碼了:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<map>
#include<queue>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cmath> #include<ctime> #include<stack> #define INF 2100000000 #define ll long long #define clr(x) memset(x,0,sizeof(x)) #define clrmax(x) memset(x,127,sizeof(x)) using namespace std; inline int read() { char c; int ret=0; while(!(c>='0'&&c<='9')) c=getchar(); while
(c>='0'&&c<='9') { ret=(c-'0')+(ret<<1)+(ret<<3); c=getchar(); } return ret; } #define M 300 const char st[10][10]={ {"!!+---+"}, {"!/ /|"}, {"+---+ |"}, {"| | +"}, {"| |/"
}, {"+---+"},}; char c[M][M]; int n,m,h,l,a[M/5][M/5],mx,mxp[M/5]; int main() { freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); n=read();m=read(); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { a[i][j]=read(); mx=max(mx,1+a[i][j]*3+(n-i+1)*2); mxp[i]=max(mxp[i],a[i][j]); } for(int i=n;i>=1;i--) for(int k=mxp[i];k>=1;k--) for(int j=m;j>=1;j--) if(a[i][j]>=k) for(int o=mx-(n-i)*2-5-(k-1)*3;o<=mx-(n-i)*2-(k-1)*3;o++) for(int p=(n-i)*2+j*4-3;p<=(n-i)*2+j*4+3;p++) if(!c[o][p]||c[o][p]=='!')c[o][p]=st[o-(mx-(n-i)*2-5-(k-1)*3)][p-((n-i)*2+j*4-3)]; for(int i=1;i<=mx;i++,printf("\n")) for(int j=1;j<=n*2+m*4+1;j++) if(!c[i][j]||c[i][j]=='!')putchar('.'); else putchar(c[i][j]); return 0; }

大概就是這個樣子,如果有什麼問題,或錯誤,請在評論區提出,謝謝。

相關推薦

2016.10.05初中部 NOIP普及 模擬賽題解

這次比賽又翻車了....... T1 這道題一開始以為是一道大水題,格外簡單:把分子乘起來,把分母也乘起來,然後約分。但看到資料後,發現這樣根本不行:一千個數,最大不超過一千(就是999),最大的積就

2016.5.28初中部 NOIP普及 模擬賽

比賽總結 這次的比賽分數比之前好看30+100+10+44.4=184.4。但是也有許多小錯誤使我丟了不少分在,在每一道題中再細細分析。 T1:題目有點坑,題意在比賽的時候就理解錯誤,以為是數列中第A開始的B個數之和,樣例:A=1,B=3,答案:1+2+2=5樣例太少不具有

2016.09.17初中部 NOIP普及 模擬賽

後三題: T1_Description: 在當期擁有的集合s中,假設集合裡的某一數A,使得集合裡的其他數不比A的“風景”好(風景為每個數所擁有的兩個權值,當A的兩個權值大於B的兩個權值則A比B的風景好

2016.11.12初中部 NOIP普及 模擬賽

T1: 小數加法高精度,注意進位 T2:很明顯只需要列舉側面的點數,其餘面不管怎麼擺和都為7 T3:比較有意思。 題目描述: 給定一01串,讓你分出最多段使得每段的0和1的比例相等。 很顯然的一

2016.10.05初中部 NOIP普及 模擬賽

T1: 直接把a,b陣列的所有相同因數抵消,O(n²)效率吧。最後再高精度相乘。 T2: 很明顯是spfa啊,求出最短路徑之後再在最短路徑裡找一個最大的,注意:找的時候必須是可以到達的點。 T3: 四

noip2008普及立體圖

題目圖太多不好複製,自己去找了,反正noip到處都有。 這裡發一道普及組模擬水題,主要是為了後面的一道題,現在這裡mark一下。 直接放程式碼了: #include<iostream&g

NOIP2017普及賽後心得

ora 特殊 簡單 text 很多 調試 就是 str 格子 我覺得可能今生再也見不到這麽簡單的題目了……甚至有種能AK的錯覺(不 然而考場上腦殼疼了,只剩下310~330。 T4告訴我以後遇到不會的東西一定要早點學…… 題目分析 T1 分數 這次連模擬都不用了,幹脆叫你輸

第二十四屆全國青少年資訊學奧林匹克聯賽NOIP2018普及初賽試題解析(C++語言)

選擇題 1.D 【解析】印表機屬於輸出裝置,它將一些資訊通過印表機打印出來。掃描器,鍵盤,滑鼠屬於輸入裝置。 2.D 【解析】 A,B,C選項的十進位制數值都是 617

[jzoj]2018.07.12NOIP普及模擬賽D:解題報告

1.權勢二進位制 題目: 一個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。 當給定一個n的時候,計算一下最少要多少個權勢二進位制相加才能得到n。 輸入: k組測試資料。 輸出:

[jzoj]2018.07.15NOIP普及模擬賽D:解題報告

目錄: 1.馬農 2.馬語翻譯 3.馬球比賽  4.棋盤遊戲 1.馬農 題目描述: 在觀看完戰馬檢閱之後,來自大草原的兩兄弟決心成為超級“馬農”,專門飼養戰馬。 兄弟兩回到草原,將可以養馬的區域,分為 N*N 的單位面積的正方形, 並實地進行考察,歸納出了每

洛谷 題解 P5015 標題統計 NOIP2018 普及 T1

stdio.h 理解 iso include %d num || code tdi 沒有人用 scanf("%c", &ch) != EOF 嗎? scanf 和 EOF 會傷心的。 思路:逐個讀入字符,遇到EOF中止,對於每個讀入的字符進行判斷

NOIP2018普及對稱二叉樹

@對稱二叉樹@ @題目描述@ @題解@ @程式碼@ @[email protected] @題目描述@ 一棵有點權的有根樹如果滿足以下條件,則被軒軒稱為對稱二叉樹: 二叉樹;

NOIP2018普及擺渡車

@擺渡車@ @題目描述@ @絕對不可能是正解的題解@ @程式碼 - [email protected] @看起來比較像正解的題解@ @程式碼 - [email protected] @[email

OINOIP2018普及 經歷+總結

前言: 從最初接觸oi到複賽結束,也已經將近有一年了。從對於程式一竅不懂到現在開始深入學習演算法,只是短短的不到一年的時間罷了。這次noip,也就相當於是對這一年的成果的一個檢測。希望這次能取得一個好的成績吧。   初賽: 今年初賽算是比較難了。歷史題爆炸,只能隨便蒙一個(

NOIP 2013 普及車站分級

【題目】 題目描述: 一條單向的鐵路線上,依次有編號為 1,2,…, 的  個火車站。每個火車站都有一個級別,最低為 1 級。現有若干趟車次在這條線路上行駛,每一趟都滿足如下要求:如果這趟車次停靠了火車站 x,則始發站、終點站之間所有級別大於等於火車站 x 的都必須停靠。

NOIP2016普及魔法陣的解析——一些神奇的列舉優化

題目大意:給定一個序列,要求求出滿足,且的a,b,c,d的數量. 首先這道題可以直接用一個桶,先把所有數塞進這個桶裡. 然後我們可以開始列舉答案. 但我們發現,所以我們可以省去以為的列舉,做到列舉,實測在洛谷上能拿到85分. 到這一步優化的程式碼如下: #inc

第二十四屆全國青少年奧林匹克聯賽普及NOIP2018初賽試題解析(C++)

選擇題 1.D 【解析】印表機屬於輸出裝置,它將一些資訊通過印表機打印出來。掃描器,鍵盤,滑鼠屬於輸入裝置。 2.D 【解析】 A,B,C選項的十進位制數值都是617617617,D選項的數值是619619619。 3.D 【解析】 1MB=1024KB=102

2018.10.06NOIP普及模擬賽C

T1 YY 題目描述 最近小h接到命令,要再出一份題目,於是小h馬上陷入了沉思之中,想到了yy曾經出過的一道題目:給出一個超大正整數S,S的位數小於500000,然後找出一個數 n, 使得n

第二篇blogNOIP2017C++普及基礎部分試題解析

第二篇blog,已做好奮鬥準備。 附:homework是個不可數名詞啊,整篇暫時出不完,先出了基礎部分哈。 新手解析,見諒,大佬見錯一定要指出。 ——————————————————————我是更新提示分割線———————————————————————

初中OJ19972015.8.3普及模擬賽WZK打雪仗(war)

按照國際慣例,不發題目。。。 表示這道題我也是想了一段時間後才想出來。 假設有這樣6個人在打雪仗: 這樣是一種情況。 這樣又是一種情況。 但是這樣就不行。 為什麼呢?因為第1個人和第5個人