Bounder

éãå
ã®ãã¨ã«å°ãã²ã¼ã ã§ãã
ã¯ãªãã¯ã¨ãã©ãã°ã ãã®ã·ã³ãã«ã§æ°æã¡ã®ããæä½ã売ãã§ãããã¶ãã
Unityã§ã¡ãã¡ããã¨ä½ã£ã¦
ãã³ãã³èªä½ã²ã¼ãã§ã¹3ã«åºãã¦ã¿ã¾ããã
ãã¦ã³ãã¼ãå
㯠http://www.freem.ne.jp/win/game/6476 ã§ãã
(ãµãã¼ãããã«ç³è«ä¸ãªã®ã§ãDLå
ã¯ãã®ãã¡å¤ããã¾ã)
HSPã³ã³ãã¹ã2012(ãµãã¼ã¤ã±ã«ã£ãï¼)
HSPã³ã³ãã¹ã2012ãéå¬ããã¦ãã¾ãã
å¿åç· ãåãã®ãªã®ãªã§æåºã§ãã¾ããã
ãµãã¼ã¤ããã£ã±ãã¤ãªãã¦ããã£ã±ããã¹ããï¼
ã§ããããã¼ããã°ããããããæ°ãä»ãã¦ãï¼
ã¨ãããã¨ã§å¶ä½ä¸ã§ä¾¿å©ã ã£ãHSPãã¿ãç´¹ä»ãã¾ãã
ã¢ã¸ã¥ã¼ã«
#module hoge #deffunc local constructor posx = 10 posy = 20 return #deffunc local destructor return #deffunc local draw gsel 0: gcopy 1,posx,posy,32,32 return #global constructor@hoge draw@hoge destructor@hoge
ã ããããããªæãã§ä½¿ãã¾ããã
åå空éãå§è¿«ããã¦ããæã«é©å¿ç¯å²ã屿åã§ããã®ã§ä¾¿å©ã§ãã
å台颿°
ãããå ã§æç©ãä½åé£çµããã¦ããããdfsããã¨ãã«å台颿°ã使ãã¾ãã
object_id = 0 // å¯¾è±¡ã®æç© dim objects,100,100 // æç©ããã dim visited,100,100 // ã¡ã¢åçãªãã® #defcfunc dfs int x,int y if visited(x,y)!=0: return 0 if object_id == objects(x,y): return 1 if x+1<w: visited(x,y) += dfs(x+1,y,object_id) if x-1>=0: visited(x,y) += dfs(x-1,y,object_id) if y+1<h: visited(x,y) += dfs(x,y+1,object_id) if y-1>=0: visited(x,y) += dfs(x,y-1,object_id) return visited(x,y)
ãããªæãã§ãã
ååãè¡çªããã¨ããã©ãããã®ã§visitedã®ããã«å¼æ°ãã©ã¡ã¿ãã¨ã«å¤æ°ãç¨æãã¦ããã®ãã³ãã§ãã
å ¥åã¢ã¸ã¥ã¼ã«
ãã¤ããã£ã¦ããæãã§ä½ã£ã¡ããã¾ããã
HSPã®æ¨æºæ©è½ã§ãã§ããããããã¾ããã
ãã¬ã¼ã å
ã§ã®å¤ãåºå®åããã¦ããã®ããã¤ã³ãããç¥ãã¾ããã
//-------------------------------------------------------------------- // // INPUT // //-------------------------------------------------------------------- #module inputs #const LEFT 0 #const UP 1 #const RIGHT 2 #const DOWN 3 #const B1 4 // Z #const B2 5 // X #const ESC 6 #deffunc local init prev_codes = 0 codes = 0 return #deffunc local update prev_codes = codes codes = 0: c=0 getkey c,37: if c: codes += (1<<LEFT) getkey c,38: if c: codes += (1<<UP) getkey c,39: if c: codes += (1<<RIGHT) getkey c,40: if c: codes += (1<<DOWN) getkey c,90: if c: codes += (1<<B1) getkey c,88: if c: codes += (1<<B2) getkey c,27: if c: codes += (1<<ESC) return #defcfunc local pushed int code if ((prev_codes>>code)&1)=0: if ((codes>>code)&1)==1: return 1 return 0 #defcfunc local pushing int code if ((prev_codes>>code)&1)=1: if ((codes>>code)&1)==1: return 1 return 0 #defcfunc local released int code if ((prev_codes>>code)&1)=1: if ((codes>>code)&1)==0: return 1 return 0 #global
æµ®åå°æ°å¤æ°ã«æ³¨æ
夿°ã¯åçã«è²ããªåã«å¤ããå¯è½æ§ãããã¾ãã
pos=10.0
ã¨ããã£ã¦ãã¦ããã¤ã®ã¾ã«ã
#const NEXT_POS 50 ... pos=NEXT_POS
ã¨ããã£ã¦ãã¾ã£ã¦æ´æ°åã«ãªã£ã¦ãã¾ããã¨ãããã¾ãã
æ ¹æ°ããpos=double(NEXT_POS)ã¨ãããã¨ããã¨æãã¾ããï¼ãããsetterå½ä»¤ãä½ã£ã¦ã©ããããã)
ãã®ä»
buffer -> picload "hogehoge",1 -> gcopy
redraw 0 -> ã¡ã¤ã³ã«ã¼ã -> await 1 -> redraw 1
if scene != prev_scene: gosub *change_scene
scene=prev_scene
ä»å¹´ãHSPã³ã³ãã¹ãã¯çãä¸ãã£ã¦ããæ¨¡æ§ã
ã¿ãªãããä¸åº¦ã¯ãã§ãã¯ãã¦ã¿ãããããã§ããï¼
ICPC2012 å½å äºé¸ç´å対çä¼è°ã¾ã¨ã
å½å
äºé¸ã¾ã§ä¸é±éãã£ã¦ãã°ãã§ããã©ãã¿ããªã§ãã¢ããããããã®ä¼ã§ãã
ãã¬ãå¢ã®å¥´ãããåããã§ã¹ãã«ãçã¿åãããã¨ããã¼ã
LTã®é¨ : 1æé(1æ 10åç¨åº¦)
ãã¢ããã®é¨ : 2æé(彿¥éã¾ã£ãã¡ã³ãã¼ã§2人,3人ã§ã°ã«ã¼ãã«ãªã£ã¦ç·´ç¿)
交æµã®é¨ : 30å~1æé(æ°ã«ãªãäººã«æããåãããã£ã³ã¹ã§ãï¼)
AtCoderã®é¨ : 1æéå(æéã被ã£ãã¨æã£ããã©ããªãããã£ã¡ããã°ãããããªã)
å ´æã¯ãã¼ã ã©ãã®ãªãã£ã¹ã貸ãã¦ããã ãã¾ãããæè¬ï¼
LTã®é¨
- mitsuchieã国内予選の傾向と対策ã
- tomerunã細かなコーディングテクニックã
- hama_duã二分探索ã
- tayama0324ãå¹¾ä½ã®è©±ã(è³æãè¦ã¤ããã¾ããã§ãã)
ãã¢ããã®é¨
ãªãªã¸ãã«åé¡ã®ãTUATなのかTATなのかããè§£ããé ã«3人çµãä½ãã¾ããã
ã°ã«ã¼ãå
ã§èªç±ã«åé¡é¸ãã§åãçµãå½¢ã§ãã
交æµã®é¨
AtCoderã«åãã¦ä½ããç»çãã¦ãã人ãã¡ãã»ã»ã»ï¼
AtCoderã®é¨
AtCoder Regular Contest #005ã«ã¿ããªã§ææ¦ãã¾ããã
4å®ãã¦ãã人ããããããã¦æãã£ãã§ãã
ããç§ã§ããï¼Déã«åãã¾ããã§ããã3å®ã§ã(TAT)
ICPC2012 å½å äºé¸ç´å対çä¼è° TUATãªã®ãTATãªã®ã
ICPCå½å
äºé¸ç´å対çä¼è°(http://atnd.org/events/30281)ã«ã¦ããã¢ããã°ã©ãã³ã°ã®ã°ã«ã¼ãåãã«å©ç¨ããåé¡ã§ãã
ç°¡åãªåé¡ã§ãããå顿ãã¡ãã£ã¨ãããã«ãããã¦ãã¾ãã
(ãµã³ãã«ãå¼ãã¨ãããããã¨æãã¾ã)
åé¡ TUATãTATãªã®ã
æ±äº¬è¾²å·¥å¤§å¦ã¨ãã大å¦ãããããããããã§ã¯TUATãTATã¨ãã£ãç¥ç§°ãç¨ããããã ã
ããã§æã
ã¯ãTUATã¨TATã©ã¡ããé »ç¹ã«ç¨ãããã¦ããã調æ»ãããã¨æãã
a-zA-Zã§æ§æãããnåã®æååãä¸ãããã¦ããã®ä¸ã«TUATããã³TATãããããä½åå«ã¾ãã¦ããã調æ»ããã
ãã ããåãç¥ç§°ãç¹ãã£ã¦ããå ´åã¯ä½ãæ·±ãæå³ãããã¨ãã¦ç¹ãã£ãåæ°ã ãéã¿ãåæ°ã®2ä¹ã«å¢ãããã¨æãã
ãã¨ãã°ãTATATãªãã°5åãTATATATãªãã°14åç¾ãããã¨ã¨ããããTATTATã¯ç¹ãã£ã¦ããªãã¨ãã¦2åç¾ããã¨ããã
ã¾ãã0<=n<1000ãã¤1ã¤ã®æååã®é·ãã¯1以ä¸10000以ä¸ã¨ãã¦ï¼å¤§æåå°æåã¯åºå¥ããªãï¼
| input | output |
|---|---|
n S1 S2 ⦠Sn ãã ããn=0ã®æçµäº | S1ã®TUATã®æ° S1ã®TATã®æ° S2ã®TUATã®æ° S2ã®TATã®æ° ⦠⦠⦠⦠Snã®TUATã®æ° Snã®TATã®æ° |
| sample input | sample output |
|---|---|
5 tuatTUATtat tatatat tuatATat tuaatHaaatat hatuatuat 0 | 2 1 0 14 1 5 0 1 5 0 |
è§£æ³
è²ã ãªè§£æ³ãããã¨æãã¾ãããç¡é§ã«é åã使ã£ãè§£ãç´¹ä»ãã¾ãã
#include <iostream> #include <string> #include <cstring> #include <algorithm> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(n) REP(i,n) typedef long long int ll; const int MAXN=10012; int tuat[MAXN],tat[MAXN]; int main() { int n; while(cin>>n&&n) REP(k,n) { memset(tuat,0,sizeof(tuat)); memset(tat,0,sizeof(tat)); string s; cin>>s; rep(s.size()) s[i]=tolower(s[i]); ll ans1=0,ans2=0; rep(s.size()-2) if(s[i]=='t'&&s[i+1]=='a'&&s[i+2]=='t') { tat[i+2]=tat[i]+1; ans1 += ll(tat[i+2])*ll(tat[i+2]); } rep(s.size()-3) if(s[i]=='t'&&s[i+1]=='u'&&s[i+2]=='a'&&s[i+3]=='t') { tuat[i+2]=tuat[i]+1; ans2 += ll(tuat[i+2])*ll(tuat[i+2]); } cout<<ans2<<" "<<ans1<<endl; } return 0; }
æ¬å½ã¯ãã£ã¨DPçãªåé¡ã«ãããã£ããã§ããã©ãã
ICPC2012 æ°å ¥çæè²ç·¨ãã¾ã1 ãããã¹ã
ååã¯å
¨æ¢ç´¢ã®åé¡ããã£ãã®ã§ãä»åã¯ä¸»ã«forã«ã¼ãã®çµã¿åããã§æ°ãä¸ããæãã®å¿ç¨åé¡ã§ãã
åé¡ã¯AOJã®0525: Osenbeiãããã¾ãã
0525: Osenbei
è¡åä½ãååä½ã§ãããã¹ããã²ã£ããè¿ãã¦è¡¨é¢ãæå¤§ã«ããã ããã§ãã£ã¦æå¤§å¤ãçãã¦ããã¨ããåé¡
ãã¯ããã¯ã¨ãæ°ãã¤ãããã¨
- å ¨æ¢ç´¢ã§ãããï¼ãªã¼ãã¼ã¯ã©ã®ãããï¼
- for(int i=(1<
=0;i--)ã§è¡åä½ã®ã²ã£ããè¿ãã®ç¶æ ãå ¨é¨è¡¨ç¾ã§ããã - if((i>>n)&1)ã§nãããç®ã«1ãç«ã£ã¦ããã確èªã§ããã
- RC表è¨ããããã«ããã£ããxywhã§è¡¨ç¾ããã¨ããã
- ã²ã£ããè¿ããããã¨ã«æ»ã
ã¡ãã£ã¨é£ããããªã¨æãã®ã¯ãããã§ç¶æ
ã表ç¾ããã¨ããããªã
å·¡åã»ã¼ã«ã¹ãã³ã§ãããDPããã¨ãã¨ãã«ä½¿ãã®ã§æ
£ãã¦ããã¨ããã§ããã
å ¨æ¢ç´¢ããè§£ç
#include <iostream> #include <algorithm> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(n) REP(i,n) const int MAXH=12; const int MAXW=10002; bool U[MAXH][MAXW]; // ãããã¹ãã®ç¶æ int W,H; int main() { while(cin>>H>>W&&(H|W)) { REP(y,H) REP(x,W) cin>>U[y][x]; int ans=0; for(int i=(1<<H)-1;i>=0;i--) // ç¸¦ç¶æ ã®ã«ã¼ã { REP(y,H) if((i>>y)&1) REP(x,W) U[y][x]=!U[y][x]; // å転ãã int res=0; REP(x,W) // ã²ã£ããè¿ãåã®è¡¨é¢ã¨ã²ã£ããè¿ããæã®è¡¨é¢(è£é¢)ã®ç¢ºèª { int v=0; REP(y,H) v+=U[y][x]?1:0; res += max(v,H-v); } ans=max(ans,res); REP(y,H) if((i>>y)&1) REP(x,W) U[y][x]=!U[y][x]; // ãã¨ã«æ»ã } cout<<ans<<endl; } return 0; }
ICPC2012 æ°å ¥çæè²ç·¨2 å ¨æ¢ç´¢
æ¬æ¥ã¯æ°å
¥çã«åãã¦æ¢ç´¢ã®ãã¯ããã¯ã伿ããã以ä¸ã¯ããã®ç·´ç¿åé¡ã¨è§£èª¬ãè¨ãã
(ããæããã»ããããã¨ããã£ã¼ãããã¯ãã£ããã³ã¡ã³ãã«ãé¡ããã¾ã)
é¨ååæ¢ç´¢
24åã®æ£ã®æ´æ°ã®ä¸¦ã³ä¸ã§é£ç¶ãã5ã¤ãåãåºããæãæå¤§å¤ãæ±ããªãã (ãªããæ«å°¾ã¨å é ã¯é£ç¶ãã¦ããã¨ãã) input n a000 a001 a002 ... a023 a100 a101 a102 ... a123 ... an00 an01 an02 ... an23 0 < axxx < 1000000 0 < n < 1000000 output a0max a1max ... anmax sample input 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 sample output 56
åç´ã«24åã«ã¼ãã®ä¸ã«5åã«ã¼ããæãããã ãã§ããã
ãã ããã¿ã¤ããã¹ã䏿
®ã®äºæ
ãæ¸ããããã«å®æ°åã¯ãã¦ããã¹ãã§ããã
æ°å ¥çã«æ±ããè§£æ¾
#include <iostream> #include <algorithm> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(n) REP(i,n) const int MAXN=24; // æ°åã®é åã®æå¤§é· const int LEN=5; // é£ç¶ããæ° int a[MAXN]; int main() { int n; cin>>n; REP(x,n) { rep(MAXN) cin>>a[i]; // é åã«ç¢ºä¿ãã¦ãã int ans=0; REP(i,MAXN) { int v=0; REP(t,LEN) v+=a[(i+t)%MAXN]; //å°ä½ã使ã£ã¦æ«å°¾ã®ã«ã¼ãã«å¯¾å¿ãã ans=max(ans,v); // æå¤§å¤ã確ä¿ãã } cout<<ans<<endl; } return 0; }
ããã¡ãã£ã¨ã¾ã¨ããªåç
#include <iostream> #include <algorithm> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(n) REP(i,n) const int MAXN=24; const int LEN=5; int a[MAXN]; int main() { int n; cin>>n; REP(x,n) { rep(MAXN) cin>>a[i]; int v=0; rep(LEN){ v+=a[i];} int ans=v; // åæå¤ rep(MAXN) { v += a[(i+LEN)%MAXN]-a[i]; ans = max(ans,v); } cout<<ans<<endl; } return 0; }
IOåããªã©åºæ¬çãªã¨ããã¯å¤ãã£ã¦ãã¾ããããé£ç¶ããé¨ååãã©ãç®åºããããç°ãªã£ã¦ãã¾ãã
int v;ãç¨ãã¦ååã®å¤ãå©ç¨ãã¦ãã¾ãã
ä¾ãã°ãa[0]+a[1]+a[2]+a[3]+a[4]ã®æ¬¡ã®å¤ã¯a[1]+a[2]+a[3]+a[4]+a[5]ã§ãã
ã¤ã¾ããa[0]ã¨a[5]ã«æ³¨ç®ããã°ããã®ã§ãã
ä»åã¯5ã¤ã®é£ç¶ããå¤ã§ããã1000000ã¤ã®é£ç¶ããå¤ã¨ãã£ãããã«ãªã¼ãã¼ã大ãããªã£ãã¨ãã«å¯¾å¿ã§ãããã©ãããèã«ãªã£ã¦ãã¾ãã
é¢ç©ã¨é·ãã®ç®åº
2次å å¹³é¢ã«nåã®é·æ¹å½¢ãè²¼ãä»ãããã¨ãèããã é·æ¹å½¢ã®å·¦ä¸åº§æ¨ã¨å¹ ã¨é·ããä¸ããããæããã®é¢ç©ã¨è¾ºã®é·ããåºåããªããã input n x1 y1 w1 h1 x2 y2 w2 h2 1 <= n < 100 0 <= x,y,w,h < 1000 output a b sample input 2 1 2 3 4 2 5 6 2 sample output 22 24
ä¸ããããé·æ¹å½¢ã2次å
é
åã«ãããã³ã°ãã¦ããã¾ãããã
ããã¦ãforã«ã¼ãã§2次å
é
åãè¦ã¦ããã ãã§ããã§ããã
#include <iostream> #include <algorithm> #include <cstring> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(n) REP(i,n) const int MAXN=2048; bool U[MAXN][MAXN]; int main() { int n; while(cin>>n) { memset(U,0,sizeof(U)); int xx,yy,ww,hh; rep(n) { cin>>xx>>yy>>ww>>hh; xx++; yy++; // 0-index => 1-index REP(y,hh) REP(x,ww) U[y+yy][x+xx]=true; } int ans1=0,ans2=0; REP(y,MAXN) REP(x,MAXN) { if(U[y][x]) ans1++; else continue; // é·æ¹å½¢ã®å é¨ä»¥å¤ã¯æ»ã if(!U[y-1][x]) ans2++; // 端ã£ãå¤å® if(!U[y+1][x]) ans2++; // 端ã£ãå¤å® if(!U[y][x-1]) ans2++; // 端ã£ãå¤å® if(!U[y][x+1]) ans2++; // 端ã£ãå¤å® } cout<<ans1<<" "<<ans2<<endl; } return 0; }
ICPC2012ã¾ã¨ã(åå ã¾ã§ã®è»è·¡)
æ±äº¬è¾²å·¥å¤§å¦ããåºå ´äºå®(ãã¼ã ã®ä¸å¡ã§ãããå
¨ä½ã®ã¾ã¨ãå½¹ã§ãããã®ã§æ¥å¹´ã®ããã«ã)
å»å¹´ã¯æç¸¾ãæ¯ãããªãã£ãã®ã§ä»å¹´ããã¯åã¡ãçãã«è¡ã
micchan, rm saturday, dogezaã®3ãã¼ã ãåºå ´äºå®ã(ç§ã¯micchanã«æå±)
- 4æä¸ã¯AOJã®ä½¿ãæ¹ãè»æ¬ã®è³¼å ¥ãç°å¢ã»ããã£ã³ã°ã«å½ã¦ã
- 2012年度 第ä¸åé¨å å¤§ä¼ 5/2
- ICPC2012 新入生教育編1 ループと配列と 05/08
- ICPC2012 新入生教育編2 全探索 05/15
- ICPC2012 新入生教育編おまけ1 おせんべい 05/22
- ICPC向けペアプログラミング練習会in三鷹 05/27
- 2012年度 第äºåé¨å å¤§ä¼ 05/29
- é¨å 大ä¼åçä¼ 06/04
- 2012年度 第ä¸åé¨å å¤§ä¼ 06/11 & ãã¼ã 確å®
- TopCoderMeetingUp 6/12
- ICPC2012 ç·´ç¿ä¼ç·¨1 DFSã¨BFS 06/15
- ICPC2012 ç·´ç¿ä¼ç·¨1 ãã¤ã¯ã¹ãã©æ³ã¨ããªã æ³ 06/15
- ICPC2012 ç·´ç¿ä¼ç·¨1 æ°å¤ç©å 06/15
- OBOG会国内模擬予選(3完でした残念)
- ICPC2012 ç·´ç¿ä¼ç·¨2 DPã¨ã¡ã¢åå帰 6/22
- ICPC2012 ç·´ç¿ä¼ç·¨2 æå¤§æµã¨æå°è²»ç¨æµ 6/22
- ICPC2012 ç·´ç¿ä¼ç·¨2 å¼·é£çµæååè§£ã¨SAT 6/22
- ICPC2012 ç·´ç¿ä¼ç·¨3 ãªãªã¸ãã«æåååé¡é 6/29
- ICPC2012 国内予選直前対策会議 6/30
- ICPC2012 国内予選直前対策会議 TUATなのかTATなのか 6/30
- KUPC東京オンサイト 7/1
ãã®ä»SRM,ACRãªã©å種ãªã³ã©ã¤ã³ã³ã³ãã¹ãã«åå
çµæ:3å® ç·å44ä½ å½å äºé¸æé


