Skip to content

Instantly share code, notes, and snippets.

View neizod's full-sized avatar
📚
phd completed, seeking my new goal in life

Nattawut Phetmak neizod

📚
phd completed, seeking my new goal in life
View GitHub Profile
@neizod
neizod / generate.py
Last active May 26, 2021 05:29
Megagon SVG!
#!/usr/bin/env python3
# NOTE
# LAYERS is a non-empty list of integers.
# The n-gon can be determine by calc_ngon(LAYERS), e.g.,
#LAYERS = [1, 2, 2] # heptagon (not constructible)
#LAYERS = [1, 4, 3] # heptadecagon (17 sides)
#LAYERS = [2, 2, 3, 2] # tetracontadigon (42)
#LAYERS = [4, 1, 4, 3, 2, 2] # 360-gon
@neizod
neizod / pebbles.py
Last active September 27, 2020 07:12
IMO 2020 Problem 3: Pebbles
#!/usr/bin/env python3
import sys
from argparse import ArgumentParser
from itertools import combinations
from random import seed, shuffle, randrange
sumsupto = lambda n: n*(n+1)//2
tco = lambda t: f'\033[01;{31+t[1]}m{t[0]:02}\033[00m'
@neizod
neizod / antumbra.ipynb
Created March 2, 2020 00:59
Umbra-Penambra-Antumbra and Shadow Densities.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@neizod
neizod / bkk_aqi_data.csv
Last active October 11, 2019 17:07
Interpolate Bangkok Pollution with IDW (and Voronoi)
x y aqi note
390 60 82 Bang Plat
520 150 78 Phaya Thai
750 160 99 Wang Thonglang
530 260 74 Pathum Wan
410 460 151 Rat Burana
520 480 76 Phra Pradaeng
730 460 65 Bang Na
1060 140 255 ?
@neizod
neizod / mersenne-twister.ipynb
Created September 30, 2019 23:12
Mersenne Twister
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#include <iostream>
using namespace std;
bool is_int(string number) {
bool after_dot = false;
for (char c : number) {
if (after_dot and c != '0') {
return false;
} else if (c == '.') {
@neizod
neizod / answer-final.mzn
Last active November 26, 2018 02:53
MiniZinc examples for Blognone.
array[1..3] of int: divisors = [2, 3, 7];
var 1..100: answer;
constraint forall(d in divisors)( answer mod d == 0 );
solve satisfy;
output [ "The ultimate answer is \(answer).\n" ];
@neizod
neizod / smallest-circle.ipynb
Last active November 16, 2018 19:50
Smallest-circle
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{independent-study}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions\relax
\LoadClass[11pt,a4paper,oneside]{book}
% thai book
\usepackage[english,thai]{babel}
@neizod
neizod / ulti-chull.ipynb
Created August 7, 2018 23:22
Kirkpatrick–Seidel algorithm
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.