1. 程式人生 > >BITACM2018第一輪積分賽(一)題解

BITACM2018第一輪積分賽(一)題解

A. Watermelon by miamiao

description:給出一個西瓜的質量w,問能不能把這個西瓜分成兩份,每一份的質量都是正偶數。

solution:如果滿足w4w是偶數,就可以。否則不行。

#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
    scanf("%d",&n);
    if (n>=4&&n%2==0)puts("YES");
    else puts("NO");
}

評價:低檔題。簽到。

B. Bayan Bus by zhber

description:給出車子的字元形狀,上面有34個座位,用#表示。按照優先從右到左、再從上到下的順序往裡填k個人,有人坐的位置用O表示,輸出現在的車子形狀。

solution:直接暴力模擬。

#include<bits/stdc++.h>
using namespace std;
char s[6][30]={"+------------------------+",
               "|#.#.#.#.#.#.#.#.#.#.#.|D|)",
               "|#.#.#.#.#.#.#.#.#.#.#.|.|",
               "|#.......................|"
, "|#.#.#.#.#.#.#.#.#.#.#.|.|)", "+------------------------+"}; int k,x,y; int main() { scanf("%d",&k); x=y=1; for (int i=1;i<=k;i++) { s[x][y]='O'; if(x==4)x=1,y+=2; else if (x==2&&y!=1)x=4; else x=x+1; } for
(int i=0;i<6;i++)puts(s[i]); }

評價:低檔題。簽到。

C. Spyke Talks by sadyi98

description:n個人,每個人可以在通話也可以不在通話,如果在通話就會得到一個通話id,一對正在通話的人將共享一個id。不允許超過兩人共同進行通話。現在給出每個人通話情況,問這個狀態是否合法,如果合法有幾對正在通話。

solution:排序後去掉0,統計多少個數字恰好出現了2次即可。如果有數字出現超過3次則不合法。

void solve() {
    int n, ans;
    scanf("%d", &n);
    map<int, int> m;
    for (int i = 1; i <= n; i++) {
        int x;
        scanf("%d", &x);
        m[x]++;
    }
    for (auto i = m.begin(); i != m.end(); i++) {
        if (i->first == 0) continue;
        int t = i->second;
        if (t > 2) {
            puts("-1");
            return;
        }
        if (t == 2) ans++;
    }
    printf("%d\n", ans);
}

評價:低檔題。

D. Opposites Attract by sadyi98

description:n個數a1...an,保證|ai|10,詢問有多少有序對(i,j),1i<jn滿足ai+aj=0

solution:統計數字k出現的次數tk。對於00對應的情況,答案是C2t0=t0(t01)2。對於kk對應的情況,答案是tktk。全部求和即可。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;
ll zero,p[11],q[11];
int main()
{
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
    {
        int x;scanf("%d",&x);
        if (!x)zero++;
        else if (x>0)p[x]++;
        else q[-x]++;
    }
    ll ans=zero*(zero-1)/2;
    for (int i=1;i<=10;i++)ans+=p[i]*q[i];
    printf("%lld\n",ans);
}

評價:低檔題。

E. Chtholly’s request by BITtian

description:詢問前k小的、長度是偶數的迴文數之和,答案對p取模。保證1k105,1p109

solution:顯然長度是偶數的迴文數是通過一個數字後面接上它的翻轉數字來構造。列舉1k的所有數字,並且用它來構造迴文數相加即可。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int k,p;
ll ans;
ll calc(ll x)
{
    int d[10],len=0,temp=x;
    while (temp)
    {
        d[++len]=temp%10;
        temp/=10;
    }
    for (int i=1;i<=len;i++)x=x*10+d[i];
    return x;
}
int main()
{
    scanf("%d%d",&k,&p);
    for (int i=1;i<=k;i++)ans+=calc(i)%p;
    printf("%lld\n",ans%p);
}

評價:低檔題。

F. Tourist’s Notes by miamiao

description:給出一個長度為n的數列,限制數列中相鄰的兩項之差絕對值不超過1。現在確定了其中m個位置的值,詢問這樣的數列是否存在。如果不存在,輸出IMPOSSIBLE。如果存在,輸出這個數列中可能存在的最大的值。資料範圍1n109,1m105

solution:相鄰位置數字之差不超過1,如果有兩個相鄰的確定大小的數字,距離之差小於大小之差,即|posiposi+1|<|apo

相關推薦

BITACM2018第一積分賽題解

A. Watermelon by miamiao description:給出一個西瓜的質量w,問能不能把這個西瓜分成兩份,每一份的質量都是正偶數。 solution:如果滿足w≥4且w是偶數,就可以。否則不行。 #include<bit

BITACM2018第一積分賽題解

A. 很會dp 出題人: zhber AC/TOT: 1/50 題解: 因為 V V

檔案上傳漏洞靶場:upload-labs安裝+第一關教程

注:本文僅供學習使用,請勿用於非法操作,後果與作者無關!記錄一下自己的學習過程,大佬勿噴!! 一、簡介 upload-labs是一個使用php語言編寫的,專門收集滲透測試過程中遇到的各種上傳漏洞的靶場。旨在幫助大家對上傳漏洞有一個全面的瞭解。目前一共19關,每一關都包含著不同上傳方式。

心理學和人工智慧 第一部分 心理學—— 心理學的研究範圍

        本系列文章由魔法石榴(北京)科技有限公司(www.76tek.com)沈波先生創作,如要轉載或做其他用途,請和沈波先生(Email: [email protected])聯絡。如果有相應的技術問題需要討論和諮詢,也可聯絡QQ:1518549727。 

Java新手專案之第一個專案2016.5.16-5.22

Java學生選課教務系統 作為學習Java的新手,之前學過點Java的基礎,後來又看了看網易雲課堂的java,總共差不多兩個月的時間吧,陸陸續續跟著書和視訊編了一些程式。馬上也要畢業,現在開始,希望能夠寫一些新手,進階,高階專案經歷。一方面,是對自己實踐的一個

韋東山ARM第一期作業ARM時鐘體系

文章目錄 01 - 作業所在路徑 02 - 作業描述 03 - 作業解答 01 - 作業所在路徑   ARM裸機1期加強版\原始碼文件圖片\文件圖片\第010課_掌握ARM晶片時鐘體系 02 - 作業描述   根據S3C4

計蒜客 2017 NOIP 提高組模擬賽題解

最近做了一下這個,所以來寫份題解。 day1 T1 以前做過差不多的題,就是把矩陣轉45度,然後就可以二維字首和了。 T2 一條邊對答案的貢獻即經過它的路徑的總條數,就等於刪去這條邊後得到

純CSS實現簡易

做專案的時候總用別人的輪播外掛,就想著自己能不能做一個輪播,能不能用純CSS做的,然後就在網上查了一下,發現例子還不少,然後看一下別人的,自己照貓畫虎的也來一個試試,很簡單的一個效果,這個的體驗效果不太好,想學習的可以看一下試試 html程式碼: <!DOCTYPE

echarts 地圖實現

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <!-- 引入

圖片播、自動輪播、點擊

新的 set ttr n) settime document .get offset span HTML部分 <div id="slide_two" class="slide"> <ul style="transform: translateX(-

小程序初體驗:手把手教你寫出第一個小程序

輸入框 個人 創建 公測 快速 nsh 成功 too 調用 本文筆者將根據quick start中的範例代碼,帶大家簡單地剖析一下小程序的運行方式,並介紹小程序開發中一些通用的特性,帶著大家一步步寫出自己的小程序。 適用對象:前端初學者,對小程序開發感興趣者 tip

中國mooc北京理工大學機器學習第一

lib odi pen 運行 numpy 聚類 準則 ++ mooc 從今天開始跟著北理工的老師走一遍sklearn,在這裏做筆記。 一、聚類 1、K-Means方法 先貼代碼,所有數據的下載地址:http://pan.baidu.com/s/1hrO5NW4

Android解析HTML網頁數據 第一個方法Jsoup

原生 日誌 href attr mage connect auto htm baidu 最近發現一些無聊的東西,就是抓取網頁上的數據,然後使用安卓原生代碼顯示出來,或者說借用網頁數據,用自定義的View顯示。 借助jsoup-1.10.2.jar庫,獲取並解析數據。(Jso

播圖

left margin font ges opacity onload rgb absolut pin <style>  *{ margin:0; padding:0; list-style:none; }  .box{ width:520px; height:

第一個安卓應用

alt 技術分享 我們 提示 建模 手機 studio 應用 images 一、安裝Android studio  網址:http://www.android-studio.org/ 安裝步驟:按照提示傻瓜式安裝即可。      二、第一個Hello wo

shiro之第一個項目

ner ppi ttr pid sta 等號 res ctype tco 一、創建maven的web工程,引入shiro依賴 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w

WEB API系列:WEB API的適用場景、第一個實例

區分 ltr 支持 new 序列 第一個 icontrol ada efault 在我前一篇博客中已經給各位簡單介紹了HTTP協議與RestFul API的關系,以及一些基本的HTTP協議知識,在這些知識的鋪墊下,今天,我們一起來討論一下WEB API的適用場

第一章 Python基礎

科學計算 廣泛 java 賦值運算 退出 glob 單詞 技術 電視 1.1 編程語言 編程語言總體分以為機器語言、匯編語言、高級語言,如下 機器語言 由於計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,

node.js express+ejs引擎構建第一個項目

sta com 如果 node.js install 安裝 exp expr inf express+ejs初始化項目命令: express -t ejs projetName 目錄結構如下: 安裝依賴: npm install 安裝依賴後,啟動項目:

Go語言入門特性、安裝、環境搭建、第一個程序等

以及 rec 推出 eas log tell run 線程 package Go語言是谷歌推出的一種全新的編程語言,可以在不損失應用程序性能的情況下降低代碼的復雜性。谷歌首席軟件工程師羅布派克(Rob Pike)說:我們之所以開發Go,是因為過去10多年間軟件開發的難度令人