17th浙大校賽 ZOJ3952 Fibonacci Sequence Chicken Edition【彙編】
題意
讓你用匯編實現求斐波那契第n項(n<=30)
思路
比賽時按正常思路想了好寫了一發WA了,然後突然想到能不能寫30個if,興沖沖寫完WA了,看了遍題目才發現有10^4字數限制,白白浪費半小時。後來實在找不到bug,現場寫了個模擬編譯器來運行了下,發現執行行數超過限制了(彙編程式碼寫太醜,吃了學校沒開彙編課的虧),但是當時時間就剩10分鐘了,根本來不及優化,不得已作罷。回去後優化了15分鐘就AC了,欲哭無淚。
AC程式碼
#include <iostream>
#include <cstdio>
#include <iomanip>
using namespace std;
int index = 1;
int W = 3;
void ADD()
{
//cerr << setw(W) << index++ << "|";
printf("c\n");
}
void SUB()
{
//cerr << setw(W) << index++ << "|";
printf("cc\n");
}
void CMP()
{
//cerr << setw(W) << index++ << "|";
printf ("ccc\n");
}
void LOAD()
{
//cerr << setw(W) << setw(W) << index++ << "|";
printf("cccc\n");
}
void COPY()
{
//cerr << setw(W) << index++ << "|";
printf("ccccc\n");
}
void JUMP()
{
//cerr << setw(W) << index++ << "|";
printf ("cccccc\n");
}
void PUSH(int n)
{
//cerr << setw(W) << index++ << "|";
printf("ccccccc");
while (n--)printf("c");
printf("\n");
}
void MOVE(int a, int b)//*3
{
PUSH(a);
PUSH(b);
COPY();
}
void DUL(int of)//*4
{
PUSH(0);
MOVE(1 - 1 + of, 2 - 1 + of);
}
void POP(int index)//*6
{
PUSH(0);
MOVE(index + 1, index);
ADD();
ADD();
}
int main()
{
//freopen("code.txt","w",stdout);
cerr << setfill('0');
LOAD();
DUL(1);
PUSH(0); MOVE(2, 3);
PUSH(1); MOVE(4, 2);
POP(4);
PUSH(1);
CMP();
PUSH(200);
JUMP();
POP(2);
DUL(1);
PUSH(0); MOVE(2, 3);
PUSH(1); MOVE(4, 2);
POP(4);
PUSH(2);
CMP();
PUSH(200);
JUMP();
POP(2);
PUSH(0); PUSH(1); PUSH(1);
PUSH(0);PUSH(0);//2
//printf("______________________\n");
MOVE(4,5);MOVE(3,6);//6
ADD();//1
MOVE(3,4);
MOVE(5,3);//3
PUSH(1);PUSH(0);//2
MOVE(1,7);//3
SUB();//1
MOVE(6, 1);//3
PUSH(2);//1
CMP();//1
PUSH(200);//1
JUMP();//1
PUSH(0);PUSH(1); PUSH(63);//2
JUMP();//1
return 0;
}
相關推薦
17th浙大校賽 ZOJ3952 Fibonacci Sequence Chicken Edition【彙編】
題意 讓你用匯編實現求斐波那契第n項(n<=30) 思路 比賽時按正常思路想了好寫了一發WA了,然後突然想到能不能寫30個if,興沖沖寫完WA了,看了遍題目才發現有10^4字數限制,白白浪費半小時。後來實在找不到bug,現場寫了個模擬編譯器來運行
2017 浙大校賽 [Cloned]
%s std intervals val lld ace name pla date https://vjudge.net/contest/285902#overview A.Marjar Cola #include <bits/stdc++.h&g
2019浙大校賽--G--Postman(簡單思維題)
src += std amp 畫圖 long div scanf fin 一個思維水題 題目大意為,一個郵遞員要投遞N封信,一次從郵局來回只能投遞K封。求最短的投遞總距離。需註意,最後一次投遞後無需返回郵局。 本題思路要點: 1、最後一次投遞無需返回郵局,故最後一
2019浙大校賽--J--Extended Twin Composite Number(毒瘤水題)
img xtend ostream ima () == turn scan long 毒瘤出題人,坑了我們好久,從基本的素數篩選,到埃氏篩法,到隨機數快速素數判定,到費馬小定理,好好的水題做成了數論題。 結果答案是 2*n=n+3*n,特判1,2. 以下為毒瘤題目:
浙大校賽、南昌邀請賽網絡賽賽後總結
線段 可能 spec 五個 貪心策略 快三 大小寫 xor 一個 兩個周末和隊友打了兩場比賽,感覺就是emmm,非常自閉,真的感覺做不動,和平常那種懶懶散散的訓練或者簡簡單單的題目差別太大了。浙大校賽簽到題我還想了一會,那個合數的題一開始沒看到special judge
ACM-ICPC北京賽區2017網路同步賽 題目5 : Cats and Fish【模擬】
時間限制:1000ms 單點時限:1000ms 記憶體限制:256MB 描述 There are many homeless cats in PKU campus. They are all happy because the students in
HDU 6327 2018HDU多校賽 第三場 Random Sequence(概率期望dp+數論)
Problem I. Random Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) Total Submissio
2017CUIT校賽-線上賽
pre 函數 fine 算法 int print fcntl images include 2017Pwnhub杯-CUIT校賽 這是CUIT第十三屆校賽啦,也是我參加的第一次校賽。 在被虐到崩潰的過程中也學到了一些東西。 這次比賽是從5.27早上十點打到5.28晚上十點,
HDU多校賽第9場 HDU 4965Fast Matrix Calculation【矩陣運算+數學小知識】
stdin amp line you stream [] nbsp content ans 難度上。,,確實。。。不算難 問題是有個矩陣運算的優化 題目是說給個N*K的矩陣A給個K*N的矩陣B(1<=N<=1000 && 1=<K<
2016移動開發校賽之Android實踐
android 學校組織的《移動互聯網應用軟件開發》技能競賽,所有參賽命題均基於 Android 4.2 版本實現,比賽推薦使用的開發環境為:ADT, JDK 1.6, Android SDK 4.1 經過了四天的培訓我們小組選擇在計算器應用 計算器能夠實現: 1. 數學四則運算 2. 實現開方元算
The New Starting --記校賽智商被碾壓
size ron -- 習慣 tar 水題 能力 star 容易 To do List: 要提高效率 要刷些有意義的題 為提升代碼能力,先做HDU的100道水題,並且力求短時間有思路 半小時能寫出來 把貪心,DP,數據結構專題的題目補完 適當做一些di
上海五校賽 密碼破解
queue ios 上海 fin problem 無法 label 對稱 div 密碼破解 發布時間: 2017年7月9日 18:17 最後更新: 2017年7月9日 21:04 時間限制: 1000ms 內存限制: 128M 描述 近日來勒索病毒
“盛大遊戲杯”第15屆上海大學程序設計聯賽夏季賽暨上海高校金馬五校賽 C
一行 spa sizeof 聯賽 sin pre row span -s 時間過得好快啊,SHU計算機學院又有新的一批小朋友們進來了。2016級的同學想必也是非常喜歡計算機學院的,於是院長想測試一下大家對計算機的喜愛程度(院長大人別查我水表)。 院長給大家一行由大寫字母
“盛大遊戲杯”第15屆上海大學程序設計聯賽夏季賽暨上海高校金馬五校賽 I
mat tail for 我們 大學 一行 ace 一個 ostream 有一天,空和白很無聊,決定玩盛大遊戲,考慮到兩個人玩,他們隨便掏了一個遊戲出來:在一個n?m 的棋盤上,首先把史蒂芬妮·多拉放在左上角(1,1) 的位置。每次一個人可以將她往下,往右,往右下丟
“盛大遊戲杯”第15屆上海大學程序設計聯賽夏季賽暨上海高校金馬五校賽 G
class ati text sin 生命力 但是 %d nod cti 最近,盛大計劃開發一款手遊,以下是簡化版。系統和我方各有n 頭怪獸,每一頭怪獸都有生命值和攻擊力,並且當怪獸A攻擊怪獸B,如果怪獸B的生命值高於怪獸A的攻擊力,則怪獸B的生命力減少A的攻擊力的數
“盛大遊戲杯”第15屆上海大學程序設計聯賽夏季賽暨上海高校金馬五校賽 F
con text mes namespace view spa label 子序列 cti 如果一個序列有奇數個正整數組成,不妨令此序列為a 1 ,a 2 ,a 3 ,...,a 2?k+1 (0<=k ),並且a 1 ,a 2 ...a k+1 是一個
NBUT校賽 J Alex’s Foolish Function(分塊+延遲標記)
not unit itl 標記 ccf 一次 pan -s foo Problem J: Alex’s Foolish Function Time Limit: 8 Sec Memory Limit: 128 MB Submit: 18 Solve
2017 多校賽 第二場
n+1 easy and align acc gre const over color 1003.Maximum Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K
hdu_6047: Maximum Sequence (2017 多校第二場 1003)【貪心】
code color pri -- scan typedef lan bsp style 題目鏈接 可以貪心寫,先把b數組按從小到大的順序排個序,根據b[i]的值來產生a[n+i] 借助一個c數組,c[i]記錄,j從i到n,a[j]-j的最大值,再加上一個實時更新的變量ma
使用循環解決斐波那契數列Fibonacci sequence
log class 兔子 斐波那契數 知識 多少 oba enc 傳遞 1 # encoding:utf-8 2 ‘‘‘ 3 Created on 2017年8月7日 4 題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子, 5 小兔子長到第三個月