/** * This function does the preparsing and issues the art fetching requests */ static void *Thread( void *data ) { playlist_preparser_t *p_preparser = data; vlc_object_t *obj = p_preparser->object; for( ;; ) { input_item_t *p_current; /* */ vlc_mutex_lock( &p_preparser->lock ); if( p_preparser->i_waiting > 0 ) { p_current = p_preparser->pp_waiting[0]; REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 ); } else { p_current = NULL; p_preparser->b_live = false; vlc_cond_signal( &p_preparser->wait ); } vlc_mutex_unlock( &p_preparser->lock ); if( !p_current ) break; Preparse( obj, p_current ); Art( p_preparser, p_current ); vlc_gc_decref(p_current); } return NULL; }
/** * This function does the preparsing and issues the art fetching requests */ static void *Thread( void *data ) { playlist_preparser_t *p_preparser = data; playlist_t *p_playlist = p_preparser->p_playlist; for( ;; ) { input_item_t *p_current; /* */ vlc_mutex_lock( &p_preparser->lock ); if( p_preparser->i_waiting > 0 ) { p_current = p_preparser->pp_waiting[0]; REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 ); } else { p_current = NULL; p_preparser->b_live = false; } vlc_mutex_unlock( &p_preparser->lock ); if( !p_current ) break; Preparse( p_playlist, p_current ); Art( p_preparser, p_current ); } return NULL; }
void Track::fill(Dict *d) const{ d->SetIntValue("TID", id); d->SetValue("TITLE", title); d->ShowSection(visible ? "IS_VISIBLE" : "IS_HIDDEN"); d->SetValue("DATE", date); d->SetValue("DAY", formatTime(date, "%B %-d, %Y")); artist.fill(d); d->ShowSection(Art(id) ? "HAS_ART" : "NO_ART"); }
void intro_display() { std::ifstream Art ("art.txt"); std::ifstream Intro("intro.txt"); displaytext(Art); displaytext_delay(Intro); Art.close(); Intro.close(); }
void Art(int v){ low[v] = idx[v] = time = time+1; for (int w = 1; w <= n; w++) if(reach[v][w]){ if (idx[w]) low[v] = min(low[v],idx[w]); else { Art(w); low[v] = min(low[v],low[w]); if(!art[v] && ((idx[v] == 1 && idx[w] != 2)||(idx[v] != 1 && low[w] >= idx[v]))) art[v] = hasArt = 1; } } }
void Art(register unsigned char v, register unsigned char u){ low[v] = vn[v] = time = time+1; for (register unsigned char w = 1; w <= n; w++) if(reach[v][w]){ if (vn[w]) low[v] = min(low[v],vn[w]); else { Art(w, v); low[v] = min(low[v],low[w]); if(!art[v] && ((vn[v] == 1 && vn[w] != 2)||(vn[v] != 1 && low[w] >= vn[v]))) { art[v] = 1; crit++; } } } }
int main(void){ while(scanf("%hu\n",&n)!=EOF && n){ crit = time = 0; memset(reach,0,sizeof(unsigned char)*10201); memset(art,0,sizeof(unsigned char)*101); memset(low,0,sizeof(unsigned char)*101); memset(vn,0,sizeof(unsigned char)*101); while(scanf("%hu%c",&x,&test) && x) while(test!='\n'){ scanf("%hu%c",&y,&test); reach[x][y] = reach[y][x] = 1; } Art(1,0); printf("%hu\n",crit); } return 0; }
int main(void){ for(int t = 1; scanf("%d%d",&n,&m) && n; t++){ memset(reach,0,sizeof(reach)); memset(low,0,sizeof(low)); memset(idx,0,sizeof(idx)); memset(art,0,sizeof(art)); for(i = 0; i < m; i++) scanf("%d%d",&a,&b), reach[a][b] = reach[b][a] = 1; hasArt = time = 0; Art(1); printf("Teste %d\n",t); if(hasArt){ for(i = 1; i <= n; i++) if(art[i]) printf("%d ",i); } else printf("nenhum"); printf("\n\n"); } return 0; }
/** * This function does the preparsing and issues the art fetching requests */ static void *Thread( void *data ) { playlist_preparser_t *p_preparser = data; for( ;; ) { input_item_t *p_current; input_item_meta_request_option_t i_options; /* */ vlc_mutex_lock( &p_preparser->lock ); if( p_preparser->i_waiting > 0 ) { preparser_entry_t *p_entry = p_preparser->pp_waiting[0]; p_current = p_entry->p_item; i_options = p_entry->i_options; free( p_entry ); REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 ); } else { p_current = NULL; p_preparser->b_live = false; vlc_cond_signal( &p_preparser->wait ); } vlc_mutex_unlock( &p_preparser->lock ); if( !p_current ) break; Preparse( p_preparser, p_current, i_options ); Art( p_preparser, p_current ); vlc_gc_decref(p_current); } return NULL; }
void Render(cSpriteBatch& batch) { batch.DrawTexturePos2Dim2Origin2Scale2Rot(Art("bubble"), pos.x, pos.y, dim.x, dim.y, dim.x/2.0f, dim.y/2.0f, 1.0f, 1.0f, 0.0f); }