/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n; string s; char ch; while(cin>>s && s!="0") { int sl=s.size(); if(sl>1000) return 0; n=0; for(int i=0;i<sl;i++) { n=n*10+(s[i]-'0'); n%=9; } if(!n) n=9; cout<< n <<"\n"; } return 0; }
Showing posts with label NBUT. Show all posts
Showing posts with label NBUT. Show all posts
Sunday, 20 September 2015
Digital Roots (UVALive 2085, HDU 1013, ZOJ 1115, POJ 1519, NBUT 1068, Regionals 2000 >> North America - Greater NY)
Thursday, 10 May 2012
UVa 11504 Dominos Solution (HDU - 3173, NBUT - 1247)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 bool vis[MX]; vector<int>adj[MX], topSort; void dfs(int u) { vis[u]=true; for(int i=0; i<adj[u].size(); i++) { int v=adj[u][i]; if(!vis[v]) dfs(v); } topSort.push_back(u); return; } int connectedComponent(int n) { CLR(vis); for(int i=1; i<=n; i++) if(!vis[i]) dfs(i); CLR(vis); int cnt=0; for(int i=topSort.size()-1; i>=0; i--) //as topSort contains the reverse of topological order if(!vis[topSort[i]]) { cnt++; dfs(topSort[i]); } return cnt; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int tc, kk=1, n, m, u, v; cin>>tc; while(tc--) { cin>>n>>m; for(int i=0; i<m; i++) { cin>>u>>v; adj[u].push_back(v); } cout<<connectedComponent(n)<<"\n"; topSort.clear(); for(int i=1; i<=n; i++) adj[i].clear(); } return 0; }
Subscribe to:
Posts (Atom)