알고리즘 문제 풀이/1DP_과제(~180615)
2018.02.15
//https://www.acmicpc.net/problem/10451 #include using namespace std;int graph[1001];bool visited[1001];int n; void init(){ for(int i=0; i> n; for(int i=1; i> graph[i];} void dfs(int now){ visited[now]=1; int next=graph[now]; if(!visited[next]) dfs(next);}int main(){ int t; cin >> t; while(t-->0){ init(); input(); int ans=0; for(int i=1; i
알고리즘 문제 풀이/1DP_과제(~180615)
2018.02.14
//https://www.acmicpc.net/problem/11568 #include #include using namespace std;int dp[1001];int num[1001]; int main(){ int N; int mx=1; cin >> N; for(int i=1; i> num[i]; dp[1]=1; for(int i=2; i=0; j--){ if(num[j]
알고리즘 문제 풀이/1DP_과제(~180615)
2018.02.13
//https://www.acmicpc.net/problem/1563 #include #define mod 1000000using namespace std;int dp[1001][2][3];int N; int find(int today, int late, int absence){ if(today==N) return 1; if(dp[today][late][absence]) return dp[today][late][absence]; //오늘 지각한 경우 if(late==0){ dp[today][late][absence]+=find(today+1, late+1, 0); dp[today][late][absence]%=mod; } //연속 결속 0일, 1일인 경우 결석 if(absence> N; cout
알고리즘 문제 풀이/1DP_과제(~180615)
2018.02.12
//https://www.acmicpc.net/problem/5554 #include using namespace std; int sum(){ int a; int ans=0; for(int i=0; i> a; ans+=a; } return ans;} int main(){ int sum1=0; sum1=sum(); cout