/* Widest path problem / the bottleneck shortest path problem */ int main() { int M, s, t; string s1, s2; bool first = true; while(cin >> M) { if(!first) cout << endl; first = false; vector<int> *adjacencyLists = new vector<int>[2*M+2]; // At most 2M cities! map<string,int> m; map<int,string> rev; FORI(M) { cin >> s1 >> s2; if(m.find(s1) == m.end()) { m.insert(PSI(s1, (int)m.size())); rev.insert(PIS((int)rev.size(), s1)); } if(m.find(s2) == m.end()) { m.insert(PSI(s2, (int)m.size())); rev.insert(PIS((int)rev.size(), s2)); } s = m[s1]; t = m[s2]; adjacencyLists[s].push_back(t); adjacencyLists[t].push_back(s); } // query: cin >> s1 >> s2; if(m.find(s1) == m.end()) { m.insert(PSI(s1, (int)m.size())); rev.insert(PIS((int)rev.size(), s1)); } if(m.find(s2) == m.end()) { m.insert(PSI(s2, (int)m.size())); rev.insert(PIS((int)rev.size(), s2)); } s = m[s1]; t = m[s2]; // Find maximum flow path between S and D: stack<int> path; dijkstra((int)m.size(), adjacencyLists, s, t, path); delete[] adjacencyLists; // Compute result: if(path.empty()) cout << "No route" << endl; else { while(!path.empty()) { cout << rev[path.top()] << " "; path.pop(); cout << rev[path.top()] << endl; path.pop(); } } } }
static void print_irq_status(u32 status) { if ((status & dispc_compat.irq_error_mask) == 0) return; #define PIS(x) (status & DISPC_IRQ_##x) ? (#x " ") : "" pr_debug("DISPC IRQ: 0x%x: %s%s%s%s%s%s%s%s%s\n", status, PIS(OCP_ERR), PIS(GFX_FIFO_UNDERFLOW), PIS(VID1_FIFO_UNDERFLOW), PIS(VID2_FIFO_UNDERFLOW), dss_feat_get_num_ovls() > 3 ? PIS(VID3_FIFO_UNDERFLOW) : "", PIS(SYNC_LOST), PIS(SYNC_LOST_DIGIT), dss_has_feature(FEAT_MGR_LCD2) ? PIS(SYNC_LOST2) : "", dss_has_feature(FEAT_MGR_LCD3) ? PIS(SYNC_LOST3) : ""); #undef PIS }
static void dispc_dump_irqs(struct seq_file *s) { unsigned long flags; struct dispc_irq_stats stats; spin_lock_irqsave(&dispc_compat.irq_stats_lock, flags); stats = dispc_compat.irq_stats; memset(&dispc_compat.irq_stats, 0, sizeof(dispc_compat.irq_stats)); dispc_compat.irq_stats.last_reset = jiffies; spin_unlock_irqrestore(&dispc_compat.irq_stats_lock, flags); seq_printf(s, "period %u ms\n", jiffies_to_msecs(jiffies - stats.last_reset)); seq_printf(s, "irqs %d\n", stats.irq_count); #define PIS(x) \ seq_printf(s, "%-20s %10d\n", #x, stats.irqs[ffs(DISPC_IRQ_##x)-1]); PIS(FRAMEDONE); PIS(VSYNC); PIS(EVSYNC_EVEN); PIS(EVSYNC_ODD); PIS(ACBIAS_COUNT_STAT); PIS(PROG_LINE_NUM); PIS(GFX_FIFO_UNDERFLOW); PIS(GFX_END_WIN); PIS(PAL_GAMMA_MASK); PIS(OCP_ERR); PIS(VID1_FIFO_UNDERFLOW); PIS(VID1_END_WIN); PIS(VID2_FIFO_UNDERFLOW); PIS(VID2_END_WIN); if (dss_feat_get_num_ovls() > 3) { PIS(VID3_FIFO_UNDERFLOW); PIS(VID3_END_WIN); } PIS(SYNC_LOST); PIS(SYNC_LOST_DIGIT); PIS(WAKEUP); if (dss_has_feature(FEAT_MGR_LCD2)) { PIS(FRAMEDONE2); PIS(VSYNC2); PIS(ACBIAS_COUNT_STAT2); PIS(SYNC_LOST2); } if (dss_has_feature(FEAT_MGR_LCD3)) { PIS(FRAMEDONE3); PIS(VSYNC3); PIS(ACBIAS_COUNT_STAT3); PIS(SYNC_LOST3); } #undef PIS }