ゲーム制作始めたい Hello SDL
このサイトがよくまとまってるのでありがたい!
ちょっとアレンジして60fpsでwindowの色がランダムに変わるようにした
//Using SDL and standard IO #include <SDL2/SDL.h> #include <stdio.h> #include <random> //Screen dimension constants const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; int main(int argc, char* args[]) { //The window we'll be rendering to SDL_Window* window = NULL; //The surface contained by the window SDL_Surface* screenSurface = NULL; //Initialize SDL if(SDL_Init( SDL_INIT_VIDEO ) < 0){ printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); } else { //Create window window = SDL_CreateWindow("SDL Tutorial: 60 FPS random color", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN); if(window == NULL) { printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() ); } else { //Get window surface screenSurface = SDL_GetWindowSurface(window); std::random_device rnd; for (int i = 0; i < 1000; i++) { int R = rnd() % 256; int G = rnd() % 256; int B = rnd() % 256; //Fill the surface white SDL_FillRect(screenSurface, NULL, SDL_MapRGB( screenSurface->format, R, G, B)); //Update the surface SDL_UpdateWindowSurface(window); //Wait two seconds SDL_Delay(1000.0/60); } } } //Destroy window SDL_DestroyWindow(window); //Quit SDL subsystems SDL_Quit(); return 0; }
ゲーム制作始めたい 開発環境構築
SRM684D1Easy CliqueParty
久しぶりの投稿。
方針
両サイドを固定すると、集合Dの最大値が決まる。
左端からk-smoothを満たすように選んで行く。
コード
class CliqueParty { public: int maxsize(vector<int> a, int k) { int N = a.size(); sort(a.begin(), a.end()); int ans = 0; FOR(l,0,N) { FOR(r,l+1,N) { ll mx = a[r] - a[l]; int alive[55]; FOR(i,l,r+1) alive[i] = true; FOR(i,l,r) { if(!alive[i]) continue; FOR(j,i+1,r+1) { if(ll(a[j]-a[i])*k<mx) { if(j == r) alive[i] = false; else alive[j] = false; } else break; } } int cnt = 0; FOR(i,l,r+1) { cnt += alive[i]; } ans = max(ans, cnt); } } return ans; } };
SRM658D1E OddEvenTree
正答率63%。
Codeforces 296 DIV1 B Clique Problem
これ区間スケジューリング言われなかったらわからんで!